728x90
출처
https://www.acmicpc.net/problem/2164
내 풀이
#include<iostream>
#include<queue>
using namespace std;
queue<int> q;
int N = 0;
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin >> N;
// 숫자만큼 일단 대입
for (int i = 1; i <= N; i++)
{
q.push(i);
}
while (q.size() != 1)
{
q.pop();
int front = q.front();
q.pop();
q.push(front);
}
cout << q.front();
}
해설
큐의 맨 앞에 있는 수를 빼고 그 다음 수는 뒤로 보내는걸 반복하여 사이즈가 1이 되면 해당 큐에 있는 값을 정답으로
출력하게 했다.
느낀점
큐에 대해 점점 익숙해지는것 같다.
'백준 코딩테스트 > 실버' 카테고리의 다른 글
2751) 수 정렬하기 2 (C++) (0) | 2022.05.07 |
---|---|
10866) 덱 (C++) (0) | 2022.05.07 |
18258) 큐 2 (C++) (0) | 2022.05.04 |
1920) 수 찾기 (C++) (0) | 2022.05.01 |
11053) 가장 긴 증가하는 부분 수열 (C++) (0) | 2022.04.30 |