C++)
#include <iostream>
#include <queue>
using namespace std;
int main(void) {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
queue<int> q;
for(int i = 1; i<= n; i++)
q.push(i);
while(q.size() != 1) {
q.pop();
q.push(q.front());
q.pop();
}
cout << q.front();
return 0;
}
Python)
import sys
from collections import deque
read = sys.stdin.readline
n = int(read().rstrip())
q = deque()
# 큐에다 카드를 넣는다.
for i in range(n):
q.append(i+1)
ord = False
# 1개의 카드만 남을 때까지 반복
while len(q) != 1:
if ord:
q.append(q[0])
ord = not ord
q.popleft()
print(q[0])
'백준 1 > 자료구조' 카테고리의 다른 글
| [백준 1021] 회전하는 큐 (C++/Python) (0) | 2023.06.22 |
|---|---|
| [백준 5430] AC (C++/Python) (0) | 2023.06.21 |
| [백준 18258] 큐2 (C++/Python) (0) | 2023.06.19 |
| [백준 3015] 오아시스 재결합 (C++/Python) (0) | 2023.06.15 |
| [백준 6198] 옥상 정원 꾸미기 (C++/Python) (0) | 2023.06.14 |