Deff_Dev
[백준] 2164번 카드 2 (C++) 본문
문제
풀이
이 문제는 1부터 입력된 N까지 번호들을 큐에 삽입하고,
- 카드 버리기
- 맨 앞 카드 뒤로 보내기
위 규칙이 반복되는 문제로, 마지막 남은 번호를 출력하는 문제이다.
#include <iostream>
#include <queue>
using namespace std;
queue<int> q;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int n;
cin >> n;
for(int i = 1;i <= n;i++)
{
q.push(i);
}
while(true)
{
if(q.size() == 1)
{
cout << q.front();
break;
}
q.pop();
int front = q.front();
q.pop();
q.push(front);
}
return 0;
}
'코딩테스트 > 백준' 카테고리의 다른 글
[백준] 18258번 큐 2 (C++) (0) | 2024.12.19 |
---|---|
[백준] 2493번 탑 (C++) (0) | 2024.12.18 |
[백준] 1874번 스택 수열 (C++) (0) | 2024.12.17 |
[백준] 10773번 제로 (C++) (0) | 2024.12.17 |
[백준] 에디터 (C++) (0) | 2024.12.16 |