티스토리 뷰

단순히 K번째가 아닌 숫자는 다시 Queue에 pop해서 push 해주면 되는 문제이다. K번째 일 경우에는 pop을 해준다

 

#include <iostream>
#include <queue>

using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cout.tie(nullptr);

	queue<int> t1;
	int i = 1, count = 0;
	int N, K;
	cin >> N >> K;
	for (int i = 1; i <= N; i++) {
		t1.push(i);
	}
	cout << "<";
	while (count != N) {
		if ((i % K) != 0) {
			t1.push(t1.front());
			t1.pop();
		}
		else if (t1.size() == 1) {
			cout << t1.front() << ">";
			break;
		}
		else {
			cout << t1.front() << ", ";
			t1.pop();
			count++;
		}
		i++;
	}
}

'자료구조 및 알고리즘 > 문제풀이' 카테고리의 다른 글

백준 C++ 5430번) AC  (0) 2022.08.24
백준 C++ 1021번) 회전하는 큐  (0) 2022.08.24
백준 C++2164번) 카드2  (0) 2022.08.23
백준 C++ 2504번) 괄호의 값  (0) 2022.07.17
백준 C++ 10799번) 쇠막대기  (0) 2022.07.17
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함