https://www.acmicpc.net/problem/11866
봤을때 가장 먼저 떠오른 생각은,
pop - push - pop - push - (pop)
의 반복일 것 같은데 하는 직관이 들었다.
결과는 정답.
출력형식이 조금 번거로워서 vector에 담아서 처리했습니다.
#include<iostream>
#include<vector>
#include<algorithm>
#include<cmath>
#include<queue>
#include<string>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N, K;
queue <int> q;
vector <int > v;
cin >> N >> K;
for (int i = 0; i < N; i++)
q.push(i + 1);
int temp;
int cnt = 1;
while (!q.empty()) {
temp = q.front();
if (cnt % K == 0) {
//cout << temp;
v.push_back(temp);
}
else q.push(temp);
q.pop();
cnt++;
}
cout << "<";
for (int i = 0; i < v.size(); i++) {
if (i != v.size() - 1)
cout << v[i] << ", ";
else
cout << v[i];
}
cout << ">";
return 0;
}
'코딩테스트_백준풀이' 카테고리의 다른 글
큐 #10845 c++ 풀이 (1) | 2023.10.13 |
---|---|
스택 #10828 c++ 풀이 (0) | 2023.10.13 |
나이순 정렬 #10814 c++ 풀이 (0) | 2023.10.12 |
괄호 #9012 c++ 풀이 (0) | 2023.10.12 |
블랙잭 #2798 c++ 풀이 (0) | 2023.10.12 |