๋ฐ์ํ
Solution
๐ 1 ๋ถํฐ ์์ฐจ์ ์ผ๋ก ์นด๋ ๋ฑ์ ๋ฃ๊ณ , ์์ ์๋ ๊ฒ๋ค์ ํญ์ pop ํด์ค์ผ ํ๋ฏ๋ก deque ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ค.
๐ํ์ ๊ฐ์ด ํ๋ ๋จ์์๋ค๋ฉด ๊ทธ ๊ฐ์ ์ถ๋ ฅํ๋ ๊ฒ ๋ต์ด๋ค.
๐ํ์ ๊ฐ์ด ํ๋ ์ด์์ผ ๋๋, ๋งจ์์ ์๋ ์ซ์๋ฅผ pop ํด์๊บผ๋ด๊ณ , ๋ํ ๋ฒ pop ํ ๊ฐ์ append ํด์ค๋ค .
Tip
๐from collections import deque
๐dq = deque() ์ด๋ ๊ฒ ํ๋ฅผ ๋ง๋ ๋ค.
๐dq.popleft() (๊ฐ์ธ์ ์ผ๋ก ์ฒ์ ํ๋ ๋ ํํธ ํ ์ด๋ผ๊ณ ์จ์ ํ๋ ธ์๋๋ฐ, ์๋ ๊ธฐ๋ณธ ํ์ด ์์ผ๋ ํ์ด ํญ์ ๋จผ์ ์จ๋ค๊ณ ์ธ์งํ๋ฉด ์ธ์ฐ๊ธฐ ์ข์ ๊ฒ ๊ฐ๋ค.)
๐append๋ก ๊ฐ์ ๋ฃ์ด์ค๋ค.
# 2162 ์นด๋ 2
from collections import deque
N = int(input()) # 1<= <=500000
dq = deque()
for i in range(N):
dq.append(i+1)
while(len(dq) != 1):
dq.popleft()
if(len(dq)==1):
break
else:
k = dq.popleft()
dq.append(k)
print(dq.popleft())
๋ฐ์ํ
'CodingTest' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python]๋ฐฑ์ค11286::์ ๋๊ฐ ํ ๋ฌธ์ ํ์ด (0) | 2021.05.04 |
---|---|
[Python]๋ฐฑ์ค 5397::ํค๋ก๊ฑฐ ํ์ด (0) | 2021.05.04 |
[Python]๋ฐฑ์ค 9012::๊ดํธ ๋ฌธ์ ํ์ด (0) | 2021.05.04 |
[Python]๋ฐฑ์ค 7785::ํ์ฌ์ ์๋ ์ฌ๋ (0) | 2021.05.04 |
[Python]๋ฐฑ์ค 1302::๋ฒ ์คํธ ์ ๋ฌ (0) | 2021.05.04 |
๋๊ธ