열심히 코딩 하숭!
[알고리즘][덱] 20301번 반전 요세푸스 | baekjoon 문제 풀이 본문
https://www.acmicpc.net/problem/20301
전에 풀었던 요세푸스 문제에 조건이 추가되었다.
풀이
#include <iostream>
#include <deque>
using namespace std;
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int N, K, M;
cin >> N >> K >> M;
deque<int> dq;
for (int i = 1; i <= N; i++) {
dq.push_back(i);
}
int count = 0;
bool switch_turn = false;
for (int i = 0; i < N; i++) {
if (count == M) {
count = 0;
switch_turn = !switch_turn;
}
count++;
if (!switch_turn) {
for (int j = 0; j < (K - 1); j++) {
dq.push_back(dq.front());
dq.pop_front();
}
cout << dq.front() << '\n';
dq.pop_front();
}
else {
for (int j = 0; j < (K - 1); j++) {
dq.push_front(dq.back());
dq.pop_back();
}
cout << dq.back() << '\n';
dq.pop_back();
}
}
}
오예
'코딩테스트 > 알고리즘' 카테고리의 다른 글
[알고리즘][스택] 17608번 막대기 | baekjoon 문제 풀이 (0) | 2023.03.29 |
---|---|
[알고리즘][개념정리] Dynamic Programming(DP) | 코드 플러스 강의: 알고리즘 기초 (0) | 2023.03.29 |
[알고리즘][덱] 1021번 회전하는 큐 | baekjoon 문제 풀이 (0) | 2023.03.28 |
[알고리즘][스택] 1874번 스택 수열 | baekjoon 문제 풀이 (0) | 2023.03.27 |
[알고리즘][스택] 1725번 히스토그램 | baekjoon 문제 풀이 (0) | 2023.03.24 |