코딩테스트/백준
[백준] 2164번: 카드2
쪼르뚜
2024. 9. 7. 00:43
728x90
반응형
🔗 문제 링크
https://www.acmicpc.net/problem/2164
반응형
728x90
👩💻 코드
#include <iostream>
#include <queue>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N;
cin >> N;
queue<int> q;
for(int i=1; i<=N; i++){
q.push(i);
}
while(q.size() > 1){
q.pop();
int f = q.front();
q.pop();
q.push(f);
}
cout << q.front();
return 0;
}
📝 풀이
큐의 선입선출 성질을 이용하면 간단히 풀 수 있습니다.
1부터 N까지의 숫자 카드를 큐에 push 합니다.
가장 위에 있는 카드를 버린다 -> pop()
그다음 가장 위에 있는 카드 -> q.front()
가장 아래로 옮긴다 -> q.push()
이 과정을 q에 하나의 카드만 남을 때까지 반복 후 q의 front를 출력합니다.
728x90
반응형