반응형
문제 링크
코드
#include <bits/stdc++.h>
using namespace std;
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
queue<int> Q;
int n, i;
cin >> n;
for (i = 1; i <= n; i++) Q.push(i);
while (Q.size() > 1) {
Q.pop();
Q.push(Q.front());
Q.pop();
}
cout << Q.front();
}
설명
큐의 길이가 1이 될 때까지 다음을 반복한다.
맨 앞의 숫자를 pop한다.
그다음 맨 앞의 숫자를 pop하고 맨 뒤에 push한다.
마지막 남은 숫자를 출력한다.
큐를 사용해서 해결할 수 있다.
(주의) 기록용으로 작성한 글입니다. 좋은 코드가 아닐 수 있습니다.
댓글 환영합니다!
반응형
'Algorithm > BOJ' 카테고리의 다른 글
[백준/BOJ] 2231번 - 분해합 (C++) (0) | 2022.03.22 |
---|---|
[백준/BOJ] 2217번 - 로프 (C++) (0) | 2022.03.22 |
[백준/BOJ] 2163번 - 초콜릿 자르기 (C++) (0) | 2022.03.22 |
[백준/BOJ] 2142번 - 정돈된 배열 (C++) (0) | 2022.03.22 |
[백준/BOJ] 2108번 - 통계학 (C++) (0) | 2022.03.22 |
댓글