반응형
로직대로만 풀면 되는 문제.
#include <bits/stdc++.h>
using namespace std;
int N,K;
queue<int> q;
vector<int> v;
int main(void)
{
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
cin >> N >> K;
//최초 큐 세팅
for (int i = 1; i <= N; i++)
{
q.push(i);
}
while(!q.empty())
{
// K번 만큼 돌건데
for (int i = K; i > 0; i--)
{
if (i == 1) // K번째 숫자는 출력되야 하므로
{
v.push_back(q.front()); // 나중에 출력할 vector에 추가.
q.pop();
}
else { // 그 외의 연산은 앞에꺼 빼서 뒤로 넣어준다.
q.push(q.front());
q.pop();
}
}
}
for (int i = 0; i < v.size(); i++)
{
if (i == 0) cout << "<";
if (i ==v.size() - 1) cout << v[i] << ">";
else cout <<v[i]<< ", ";
}
}
반응형
'Algorithm > Problem Solve' 카테고리의 다른 글
[백준 1929] 소수 구하기(DP문제) (0) | 2020.12.14 |
---|---|
[백준 10866번] 덱 (0) | 2020.12.14 |
[백준 11650번] 좌표 정렬하기 (vector sort compare사용) (0) | 2020.12.13 |
[백준 10828번] 스택 (0) | 2020.12.13 |
[백준 10816번] 숫자 카드 2 ( map / 이분탐색(upper,lowerbound) ) (2) | 2020.12.13 |