#include <iostream>
#include <queue>
using namespace std;
int main(){
queue <int> people;
int n, k, removedPeopleNum = 0;
int current = 1;
cin >> n >> k;
for(int i = 1; i<=n; i++) people.push(i);
cout << "<";
while(removedPeopleNum!=n){
while(1){
if(current++ % k == 0){
cout << people.front();
people.pop();
removedPeopleNum++;
break;
}
else{
people.push(people.front());
people.pop();
}
}
if(removedPeopleNum != n) cout << ", ";
}
cout << ">";
}
아직 큐가 익숙하지 않아서 다른 코드를 봤는데 뒤로 넘기는 방법에 대해서 알았다. 터트리고 뒤로 밀어버리면 되는 것 이었다. 다음에 큐를 활용하는 문제는 직접 해결해보고 싶다.
이 글은 코딩 꼬꼬마 시절에 푼 문제를 보관한 글로 네이버에 저장해둔 글을 옮긴 글입니다.
혹시나 참고하시는 부분에 이상한 부분이나 질문이 생긴다면 남겨주시면 친절히 답변 드리겠습니다.
728x90
'알고리즘 기초시절' 카테고리의 다른 글
백준 c++백준 1181번 단어정렬 (부제 :c++의 말도 안되는 편리함) (0) | 2023.01.05 |
---|---|
백준 c++[백준 BOJ 10816번] 숫자 카드 2 (C++ ) (0) | 2023.01.05 |
백준 c++1654번 랜선 자르기 문제 (0) | 2023.01.05 |
백준 c++백준 7568 덩치 클래스 복습 (2) | 2023.01.05 |
백준 c++1165번 좌표 정렬하기 2(sort 함수 응용) (0) | 2023.01.05 |