DonHurry

[Python] ๋ฐฑ์ค€ 2164๋ฒˆ - ์นด๋“œ2 ๋ณธ๋ฌธ

Problem Solving

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

_๋„๋… 2022. 11. 18. 18:26

๐Ÿ“– ๋ฌธ์ œ

 

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

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

www.acmicpc.net

 

๐Ÿ”Ž ํ’€์ด

ํ๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ์—๋Š” collections๋ผ๋Š” ๋ชจ๋“ˆ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ค‘ deque๋Š” ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋กœ ๋˜์–ด ์žˆ์–ด, ์–‘๋ฐฉํ–ฅ ์‚ฝ์ž… ์‚ญ์ œ๊ฐ€ O(1)์— ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋‚จ์€ ์นด๋“œ์˜ ์ˆซ์ž๊ฐ€ 2๊ฐœ ์ด์ƒ์ด๋ฉด, ํ•˜๋‚˜๋Š” ๋ฒ„๋ฆฌ๊ณ  ํ•˜๋‚˜๋Š” ๋ฝ‘์•„์„œ ๋’ค์— ๋‹ค์‹œ ์ถ”๊ฐ€ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

 

๐Ÿ’ป ์ฝ”๋“œ

import collections

N = int(input())
num  = collections.deque(x for x in range(1, N+1))
while len(num) > 1:
    num.popleft()
    num.append(num.popleft())
print(*num)