Deff_Dev
[백준] 카드 1 (C++) 본문
문제
https://www.acmicpc.net/problem/2161
풀이
이 문제는 1 ~ N 까지 이루어진 숫자들에서 특별한 규칙을 부여하여 첫 번째 숫자들을 출력 후 삭제하는 문제이다.
여기서 주어진 규칙은 다음과 같다.
- 첫 번째 요소를 출력 후 삭제한다.
- 이후 첫 번째 요소가 된 숫자를 맨 뒤로 옮긴다.
- 숫자들이 남지 않을 때까지 반복한다.
난 Queue를 이용하여 해당 문제를 풀이했다.
#include <iostream>
#include <queue>
using namespace std;
int main() {
int n;
cin >> n;
queue <int> q;
for (int i = 1; i <= n; i++) {
q.push(i);
}
while (true) {
cout << q.front() << " ";
q.pop();
if (q.empty())
break;
int pushValue = q.front();
q.pop();
q.push(pushValue);
}
return 0;
}
'코딩테스트 > 백준' 카테고리의 다른 글
[백준] 설탕 배달 (C++) (0) | 2024.10.27 |
---|---|
[백준] 2252번 줄 세우기 (C++) (0) | 2024.10.16 |
[백준] 2607번 비슷한 단어 (C++) (0) | 2024.09.26 |
[백준] 2156번 포도주 시식 (C++) (0) | 2024.09.10 |
[백준] 1026번 보물 (C++) (0) | 2024.09.06 |