๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด

[๋ฐฑ์ค€]2164๋ฒˆ: ์นด๋“œ2

by syLim___ 2023. 3. 15.
728x90

https://www.acmicpc.net/problem/2164

 

2164๋ฒˆ: ์นด๋“œ2

N์žฅ์˜ ์นด๋“œ๊ฐ€ ์žˆ๋‹ค. ๊ฐ๊ฐ์˜ ์นด๋“œ๋Š” ์ฐจ๋ก€๋กœ 1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ๋ฒˆํ˜ธ๊ฐ€ ๋ถ™์–ด ์žˆ์œผ๋ฉฐ, 1๋ฒˆ ์นด๋“œ๊ฐ€ ์ œ์ผ ์œ„์—, N๋ฒˆ ์นด๋“œ๊ฐ€ ์ œ์ผ ์•„๋ž˜์ธ ์ƒํƒœ๋กœ ์ˆœ์„œ๋Œ€๋กœ ์นด๋“œ๊ฐ€ ๋†“์—ฌ ์žˆ๋‹ค. ์ด์ œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋™์ž‘์„ ์นด๋“œ๊ฐ€

www.acmicpc.net


ํŒŒ์ด์ฌ์—์„œ๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ํ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ,

deque๊ฐ€ ํ›จ์”ฌ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๋‚ฎ์œผ๋ฏ€๋กœ deque๋ฅผ ์จ์•ผ ํ•œ๋‹ค.

 

์ฒ˜์Œ์— ๋ฆฌ์ŠคํŠธ๋กœ ํ’€์—ˆ๋‹ค๊ฐ€ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜์„œ deque๋กœ ๋‹ค์‹œ ํ’€์—ˆ๋”๋‹ˆ ์ •๋‹ต ํŒ์ •์„ ๋ฐ›์•˜์Œ


์ •๋‹ต ์ฝ”๋“œ

from collections import deque

n = int(input())

q=deque()
for i in range(n):
  q.append(i+1)

for i in range(n):
  if len(q)==1:
    print(q.popleft())
    break
  q.popleft() #๋งจ ์œ„ ์นด๋“œ ์ œ๊ฑฐ
  q.append(q.popleft()) #๋งจ ์œ„ ์นด๋“œ๋ฅผ ๋งจ ๋ฐ‘์œผ๋กœ ์˜ฎ๊ธฐ๊ธฐ
728x90