반응형
문제 링크: https://www.acmicpc.net/problem/2164
문제 풀이
숫자 카드를 위 그림과 같이 큐에 넣고
큐의 크기가 1이 될 때까지 다음을 반복하면 됩니다.
first 원소를 pop
그 다음 first원소를 push + pop
<c++ 소스 코드> 큐, 자료구조
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <iostream>
#include <queue>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(nullptr);
queue<int> q;
int n; cin >> n;
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;
}
|
cs |
반응형
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
[백준 4949번] 균형잡힌 세상 (0) | 2021.11.01 |
---|---|
[백준 5430번] AC (0) | 2021.10.28 |
[백준 6198번] 옥상 정원 꾸미기 (0) | 2021.10.21 |
[백준 2493번] 탑 (2) | 2021.10.15 |
[백준 3273번] 두 수의 합 (0) | 2021.10.06 |