

입력:N,K (1부터 N까지의 숫자가 들어가고, K번째 값이 제거된다)
출력: 제거되어 나오는 수들을 수열로 표현하기
1부터 N 까지의 숫자들을 자료구조 queue에 넣는다.
while문 안에서 queue가 빌때 까지 밑에 적힌 방법을 반복한다.
K번째가 아니면 pop 한 후 다시 맨뒤로 push 해준다.
K번째 수라면 pop 해서 다른 배열이나 벡터에 순서대로 넣어준다.
#include<iostream>
#include<queue>
using namespace std;
int main() {
int N, K;
cin >> N >> K;
queue<int>queue;
vector<int>tmp;
for (int i = 1; i <= N; i++) {
queue.push(i);
}
while (!queue.empty()) {
for (int i = 1; i < K; i++) {
int num = queue.front();
queue.pop();
queue.push(num);
}
tmp.push_back(queue.front());
queue.pop();
}
cout << "<";
for (int i = 0; i < tmp.size(); i++) {
if (tmp.size()-1 == i) {
cout << tmp[i] << ">";
}
else {
cout << tmp[i] << ", ";
}
}
}