๋ฌธ์
N์ฅ์ ์นด๋๊ฐ ์๋ค. ๊ฐ๊ฐ์ ์นด๋๋ ์ฐจ๋ก๋ก 1๋ถํฐ N๊น์ง์ ๋ฒํธ๊ฐ ๋ถ์ด ์์ผ๋ฉฐ, 1๋ฒ ์นด๋๊ฐ ์ ์ผ ์์, N๋ฒ ์นด๋๊ฐ ์ ์ผ ์๋์ธ ์ํ๋ก ์์๋๋ก ์นด๋๊ฐ ๋์ฌ ์๋ค.
์ด์ ๋ค์๊ณผ ๊ฐ์ ๋์์ ์นด๋๊ฐ ํ ์ฅ ๋จ์ ๋๊น์ง ๋ฐ๋ณตํ๊ฒ ๋๋ค. ์ฐ์ , ์ ์ผ ์์ ์๋ ์นด๋๋ฅผ ๋ฐ๋ฅ์ ๋ฒ๋ฆฐ๋ค. ๊ทธ ๋ค์, ์ ์ผ ์์ ์๋ ์นด๋๋ฅผ ์ ์ผ ์๋์ ์๋ ์นด๋ ๋ฐ์ผ๋ก ์ฎ๊ธด๋ค.
์๋ฅผ ๋ค์ด N=4์ธ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด ๋ณด์. ์นด๋๋ ์ ์ผ ์์์๋ถํฐ 1234 ์ ์์๋ก ๋์ฌ์๋ค. 1์ ๋ฒ๋ฆฌ๋ฉด 234๊ฐ ๋จ๋๋ค. ์ฌ๊ธฐ์ 2๋ฅผ ์ ์ผ ์๋๋ก ์ฎ๊ธฐ๋ฉด 342๊ฐ ๋๋ค. 3์ ๋ฒ๋ฆฌ๋ฉด 42๊ฐ ๋๊ณ , 4๋ฅผ ๋ฐ์ผ๋ก ์ฎ๊ธฐ๋ฉด 24๊ฐ ๋๋ค. ๋ง์ง๋ง์ผ๋ก 2๋ฅผ ๋ฒ๋ฆฌ๊ณ ๋๋ฉด, ๋จ๋ ์นด๋๋ 4๊ฐ ๋๋ค.
N์ด ์ฃผ์ด์ก์ ๋, ์ ์ผ ๋ง์ง๋ง์ ๋จ๊ฒ ๋๋ ์นด๋๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ ์ N(1≤N≤500,000)์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋จ๊ฒ ๋๋ ์นด๋์ ๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
6
์์ ์ถ๋ ฅ 1
4
ํ์ด
๊ฐ์ฅ ์์ ์์, ๊ฐ์ฅ ๋ค์ ์์๋ฅผ push, pop ํ๊ธฐ ์ํด์ deque๋ฅผ ์ฌ์ฉํ๋ค.
์ฝ๋
#include <iostream>
#include <deque>
using namespace std;
int main() {
int n;
cin >> n;
deque<int> q(n);
q.clear();
for (int i = 1; i <= n; i++) {
q.push_back(i);
}
while(q.size() != 1) {
q.pop_front();
q.push_back(q.front());
q.pop_front();
}
cout << q.front();
return 0;
}
'๐ฅ๏ธ Computer > Algorithm Solution' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BAEKJOON] 2941๋ฒ : ํฌ๋ก์ํฐ์ ์ํ๋ฒณ (0) | 2020.02.12 |
---|---|
[BAEKJOON] 1159๋ฒ : ๋๊ตฌ ๊ฒฝ๊ธฐ (0) | 2020.02.11 |
[BAEKJOON] 1085๋ฒ : ์ง์ฌ๊ฐํ์์ ํ์ถ (0) | 2020.02.06 |
[BAEKJOON] 1037๋ฒ : ์ฝ์ (0) | 2020.02.06 |
[BAEKJOON] 1427๋ฒ : ์ํธ์ธ์ฌ์ด๋ (0) | 2020.02.06 |