(BOJ) 2164. ์นด๋“œ2

jmboy713ยท2023๋…„ 4์›” 15์ผ
0

์ฝ”๋”ฉํ…Œ์ŠคํŠธ

๋ชฉ๋ก ๋ณด๊ธฐ
5/27

๋ฌธ์ œ

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

์ด์ œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋™์ž‘์„ ์นด๋“œ๊ฐ€ ํ•œ ์žฅ ๋‚จ์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋œ๋‹ค. ์šฐ์„ , ์ œ์ผ ์œ„์— ์žˆ๋Š” ์นด๋“œ๋ฅผ ๋ฐ”๋‹ฅ์— ๋ฒ„๋ฆฐ๋‹ค. ๊ทธ ๋‹ค์Œ, ์ œ์ผ ์œ„์— ์žˆ๋Š” ์นด๋“œ๋ฅผ ์ œ์ผ ์•„๋ž˜์— ์žˆ๋Š” ์นด๋“œ ๋ฐ‘์œผ๋กœ ์˜ฎ๊ธด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด N=4์ธ ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•ด ๋ณด์ž. ์นด๋“œ๋Š” ์ œ์ผ ์œ„์—์„œ๋ถ€ํ„ฐ 1234 ์˜ ์ˆœ์„œ๋กœ ๋†“์—ฌ์žˆ๋‹ค. 1์„ ๋ฒ„๋ฆฌ๋ฉด 234๊ฐ€ ๋‚จ๋Š”๋‹ค. ์—ฌ๊ธฐ์„œ 2๋ฅผ ์ œ์ผ ์•„๋ž˜๋กœ ์˜ฎ๊ธฐ๋ฉด 342๊ฐ€ ๋œ๋‹ค. 3์„ ๋ฒ„๋ฆฌ๋ฉด 42๊ฐ€ ๋˜๊ณ , 4๋ฅผ ๋ฐ‘์œผ๋กœ ์˜ฎ๊ธฐ๋ฉด 24๊ฐ€ ๋œ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ 2๋ฅผ ๋ฒ„๋ฆฌ๊ณ  ๋‚˜๋ฉด, ๋‚จ๋Š” ์นด๋“œ๋Š” 4๊ฐ€ ๋œ๋‹ค.

N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ œ์ผ ๋งˆ์ง€๋ง‰์— ๋‚จ๊ฒŒ ๋˜๋Š” ์นด๋“œ๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ: ์ฒซ์งธ ์ค„์— ์ •์ˆ˜ N(1 โ‰ค N โ‰ค 500,000)์ด ์ฃผ์–ด์ง„๋‹ค. ์˜ˆ์ œ ์ž…๋ ฅ : 6

์ถœ๋ ฅ: ์ฒซ์งธ ์ค„์— ๋‚จ๊ฒŒ ๋˜๋Š” ์นด๋“œ์˜ ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ์ œ ์ถœ๋ ฅ : 4

๋ฌธ์ œ ํ’€์ด Idea

  • 6์žฅ์˜ ์นด๋“œ๊ฐ€ ์žˆ์„๋•Œ. <๋ฐ”๋‹ฅ>6,5,4,3,2,1<๋งจ์œ„> ์ด๋ ‡๊ฒŒ ์žˆ๋‹ค.
  • ์ฒซ์žฅ์€ ๋ฒ„๋ฆฌ๊ณ  ๋งจ์œ„์— ์žˆ๋Š”๊ฑธ ๋ฐ”๋‹ฅ์œผ๋กœ ๋ณด๋‚ธ๋‹ค. โ†’ appendleft ์‚ฌ์šฉํ•˜๋ฉด ๋ ๊ฒƒ๊ฐ™๋‹ค.
  • 1์žฅ์ด ๋‚จ์„๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต.

๋ฌธ์ œ ํ’€์ด CODE

from collections import deque

N=int(input())
array=deque([i+1 for i in range(N)])

while len(array)!=1:
    array.popleft()
    array.append(array.popleft())

print(*array)

๋งˆ์ง€๋ง‰์ค„์—์„œ array์— 1๊ฐœ๋งŒ ์žˆ๊ณ  ์ถœ๋ ฅ๋งŒ ํ•˜๋ฉด ๋˜๋‹ˆ array.pop()์œผ๋กœ ํ•ด๋„ ๋œ๋‹ค!

๋ฉ”๋ชจ๋ฆฌ 55000KB , ์‹œ๊ฐ„ 220ms
profile
Python์„ ํ™œ์šฉํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๊ณ ์žˆ์Šต๋‹ˆ๋‹ค! ๋ฐ์ดํ„ฐ๋ถ„์„, ์ธ๊ณต์ง€๋Šฅ, Django์— ๊ด€ํ•œ ์ •๋ณด๋ฅผ ์—…๋กœ๋“œํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์ž˜๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค!!

0๊ฐœ์˜ ๋Œ“๊ธ€