[C++] 2161 : 카드1

리폐·2023년 11월 6일

백준

목록 보기
12/18

📝 문제

2161 : 카드1


✏️ 입력

7

💻 출력

1 3 5 7 4 2 6

⌨️ 소스코드

//2161 카드 1
#include <iostream>
#include <queue>
#include <string>
using namespace std;

int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);

	int n;
	cin >> n;
	queue<int> que;

	for (int i = 1; i <= n; i++) que.push(i);

	while (que.size() > 1) {
		int tmp = 0;
		tmp = que.front();
		cout << tmp << " "; 
		que.pop(); //첫번째 pop
		if (que.size() == 1) break;
		tmp = que.front(); //맨 앞에있는걸 뒤로 push하기 위해서 front값 받기
		que.pop();
		que.push(tmp); 
		if (que.size() == 1) break;
	}
	cout << que.front() << "\n";
}

profile
Unreal 5, Unity 공부

0개의 댓글