반응형
코딩하기 전 생각하기
/*
큐를 사용하자.
큐가 empty가 될 때까지 반복한다.
k-1번 만큼 맨 앞의 숫자를 pop하고 맨 뒤에 push한다.
맨 앞의 숫자를 pop하고 answer 벡터에 저장한다.
answer 벡터를 출력한다.
*/
코드
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, k;
queue<int> q;
vector<int> v;
cin >> n >> k;
for ( int i = 1; i <= n; i++ ) {
q.push(i);
}
while ( !q.empty() ) {
for ( int i = 0; i < k - 1; i++ ) {
q.push(q.front());
q.pop();
}
v.push_back(q.front());
q.pop();
}
cout << "<";
for ( int i = 0; i < v.size() - 1; i++ ) {
cout << v[i] << ", ";
}
cout << v[v.size() - 1] << ">";
}
느낀점
확실히 알고리즘 문제에 자료구조를 쓰니까 더 재미있는거 같다.
아직까지 쉬워서 그렇겠지?
(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.
댓글 환영합니다!
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준/BOJ] 1431번 - 시리얼 번호 (C++) (0) | 2021.07.13 |
---|---|
[백준/BOJ] 10867번 - 중복 빼고 정렬하기 (파이썬) (0) | 2021.07.13 |
[백준/BOJ] 2164번 - 카드2 (C++) (0) | 2021.07.12 |
[백준/BOJ] 2941번 - 크로아티아 알파벳 (C++) (0) | 2021.07.12 |
[백준/BOJ] 5355번 - 화성 수학 (C++) (0) | 2021.07.12 |
댓글