선입선출이고 앞뒤 데이터 자유롭게 반환이 가능한 큐를 사용했다!
#include <iostream>
#include <queue>
using namespace std;
//큐를 사용하면 될 것 같다!
int main() {
int n;
queue<int>arr = {};
cin >> n;
for (int i = 1; i <=n; i++) {
arr.push(i);
}
while (arr.size()!=1) { //큐 사이즈가 1이 될때까지 반복
arr.pop(); //제일 위의 카드 버리기
arr.push(arr.front()); //제일 위의 카드값을 제일 밑에 두기
arr.pop(); //제일 위의 카드 버리기
}
cout << arr.front();
return 0;
}
'문제풀이' 카테고리의 다른 글
[백준] 1018번 체스판 다시 칠하기 (0) | 2024.05.26 |
---|---|
[백준] 2775번 부녀회장이 될테야 (0) | 2024.05.25 |
[백준] 10814번 나이순 정렬 (0) | 2024.05.25 |
[백준] 10773번 제로 (0) | 2024.05.25 |
[백준] 2609번 최대공약수와 최소공배수 (0) | 2024.05.25 |