문제
문제파악
: 카드가 쌓인 모양과 제거를 하는 방법을 보면 '큐'가 떠오른다.
- 카드를 쌓는다 : push
- 맨위의 카드를 제거한다 : pop
- 맨위 카드를 맨 아래로 옮긴다 : front데이터 push > pop
- 카드가 1장남을때까지 반복
문제풀이
: 큐는 제공하는 stl를 이용하며, 행동을 반복하는 조건을 적절하게 위치한다.
소스코드
#include <iostream>
#include <string>
#include <queue>
using namespace std;
int main() {
cin.tie(NULL);
cout.tie(NULL);
ios_base::sync_with_stdio(false);
queue<int> q;
int t;
cin >> t;
for (int i = 1; i <= t; i++) {
q.push(i);
}
while (q.size() > 1) {
q.pop();
if (q.size() == 1) {
break;
}
q.push(q.front());
q.pop();
}
cout << q.front() << endl;
return 0;
}
'문제풀이' 카테고리의 다른 글
BaekJoon(2869)::달팽이는 올라가고 싶다 (0) | 2021.07.19 |
---|---|
BaekJoon(2292)::벌집 (0) | 2021.07.19 |
BaekJoon(2839)::설탕 배달 (0) | 2021.07.19 |
BaekJoon(18258)::큐2 (0) | 2021.07.19 |
BaekJoon(1037)::약수 (0) | 2021.07.18 |