큐를 사용해서 k-1번만큼 front를 push하고 front를 pop 돌린 후
맨 앞의 수를 출력 후 pop한다
이것을 큐가 빌때까지 반복하면 끝인 문제!
https://www.acmicpc.net/problem/11866
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, k;
queue<int> q;
cin >> n >> k;
for (int i = 1; i <= n; i++)
{
q.push(i);
}
cout << "<";
while (q.size() > 0) {
if(q.size() != 1)
{
for(int i = 0; i < k - 1; i++)
{
q.push(q.front());
q.pop();
}
cout << q.front() << ", ";
}
else
{
for(int i = 0; i < k - 1; i++)
{
q.push(q.front());
q.pop();
}
cout << q.front();
}
q.pop();
}
cout << ">" << "\n";
return 0;
}
'개발 노트 > 백준, 프로그래머스 풀이' 카테고리의 다른 글
[백준 1676/c++] 팩토리얼 0의 개수 (0) | 2022.07.16 |
---|---|
[백준 10815/c++] 숫자 카드 (0) | 2022.07.15 |
[백준 11652/c++] 카드 (0) | 2022.07.13 |
[백준 2581/c++] 소수 (0) | 2022.07.12 |
[백준 1978/c++] 소수 찾기 (0) | 2022.07.12 |
댓글