https://www.acmicpc.net/problem/2164
문제 풀이
자료구조 Queue를 이용해서 해결했다.
한 번의 반복에서 하나의 값은 바로 pop해주고, 다음 값은 push를 해준 후 pop을 했다.
소스코드
#include <iostream>
#include <queue>
using namespace std;
queue<int> que;
int main() {
int N;
cin >> N;
for (int i = 1; i <= N; i++) {
que.push(i);
}
while(que.size() > 1) {
que.pop();
que.push(que.front());
que.pop();
}
cout << que.front() << '\n';
}
'알고리즘' 카테고리의 다른 글
[백준] 3055번 탈출 C++ 문제풀이 (0) | 2023.08.03 |
---|---|
[백준] 3425번 고스택 C++ 문제풀이 (0) | 2023.08.02 |
[백준] 1920번 수 찾기 C++ 문제 풀이 (0) | 2023.07.31 |
[백준] 11866번 요세푸스 문제 0 C++ 문제 풀이 (0) | 2023.07.25 |
[백준] 1181번 단어 정렬 C++ 문제 풀이 (0) | 2023.07.25 |