๊ธฐ๋ก๋ฐฉ

BOJ_11866 : ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ 0 ๋ณธ๋ฌธ

CodingTest/Python

BOJ_11866 : ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ 0

Soom_1n 2022. 8. 7. 15:21

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

11866๋ฒˆ: ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ 0

์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ K ≤ N ≤ 1,000)

www.acmicpc.net



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • ์ž…๋ ฅ ๊ฐ’์— ๋”ฐ๋ผ ์š”์„ธํ‘ธ์Šค ์ˆœ์—ด์„ ๊ตฌํ˜„ํ•œ๋‹ค.
  • ์›ํ˜•์œผ๋กœ ์•‰์•„์žˆ๋Š” N๋ช…์˜ ์‚ฌ๋žŒ๋“ค ์ค‘ ๋งˆ์ง€๋ง‰ ํ•œ ๋ช…์ด ๋‚จ์„ ๋•Œ๊นŒ์ง€ K๋ฒˆ์งธ ์‚ฌ๋žŒ์„ ์ œ๊ฑฐํ•œ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

N, K = map(int,input().split())

arr = list(range(1,N+1))

print("<",end="")
index = 0
count = 1
while len(arr) > 1 :
    index = (index+K-1)%len(arr)
    print(arr[index],', ',sep="",end="")
    arr.pop(index)
print(arr[0],">",sep="")

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • ์‚ฌ๋žŒ๋“ค์˜ ์ธ๋ฑ์Šค๋ฅผ ๊ธฐ์–ตํ•˜๊ธฐ ์œ„ํ•ด 1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ๊ฐ’์„ ๋ฆฌ์ŠคํŠธ๋กœ ์ €์žฅํ•œ๋‹ค.
  • ํ˜„์žฌ index์—์„œ K๋ฅผ ๋”ํ•œ ์œ„์น˜์˜ ์‚ฌ๋žŒ์„ ์ œ๊ฑฐํ•œ๋‹ค.
    • ๋”ํ•œ ์œ„์น˜ ๊ฐ’์ด ์ „์ฒด ๊ธธ์ด๋ฅผ ์ดˆ๊ณผํ•˜์ง€ ์•Š๋„๋ก % ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
    • ์ œ๊ฑฐ๋Š” pop์„ ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ์˜€์ง€๋งŒ ์ถœ๋ ฅ ํ˜•ํƒœ๊ฐ€ ํŠน์ดํ–ˆ๋‹ค. ๋งž์ถ”๋Š๋ผ ์ฝ”๋“œ๊ฐ€ ์ข€ ์ง€์ €๋ถ„ํ•ด์ง„ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•˜๋‹ค.
  • ์›ํ˜• ํ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์€๋ฐ ๊ทธ๋ƒฅ ๋ฆฌ์ŠคํŠธ๋กœ ํ’€์—ˆ๋‹ค. ๋ฐํฌ๋ชจ๋“ˆ์„ ์“ฐ๋ฉด ๋” ๋นจ๋ผ์งˆ ๊ฒƒ ๊ฐ™๊ธด ํ•˜๋‹ค.

728x90