๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป/๋ฐฑ์ค€

[BAEKJOON] 1158 | ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ

by flowing1ife 2024. 11. 14.

๐Ÿ”Ž 1158 | ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ

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


๐Ÿ’ก Solution

Callout Box
โœ๐Ÿป
Logic
1. ๋จผ์ € ํ•ด๋‹น ์ˆ˜ ๋งŒํผ์„ queue์— ๋„ฃ์–ด์ค€๋‹ค
2. k-1๋ฒˆ๊นŒ์ง€๋Š” queue์˜ ์•ž์˜ ์ˆ˜๋ฅผ ๊บผ๋‚ด์„œ queue์˜ ๋’ค์— ์ค„์„ ๋‹ค์‹œ ์„ธ์›Œ์ค€๋‹ค.
3. k๋ฒˆ์งธ์— ํ•ด๋‹นํ•˜๋Š” queue์˜ ์•ž์˜ ์ˆ˜๋Š” print ํ•˜๊ณ  popํ•ด์ค€๋‹ค.
4. ์œ„์˜ ๊ณผ์ •์„ queue๊ฐ€ ๋นŒ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.
n, k = map(int, input().split())

queue = [i for i in range(1, n+1)]

num = 1
print('<', end='')
while len(queue) > 1 :
    if num == k :
        print(queue.pop(0), end=', ')
        num = 1
    else :
        queue.append(queue.pop(0))
        num += 1
print(queue.pop(0), end='>')

Toggle Example
โ–ถ ๐Ÿ“Œ Note
โˆ™ print ํ˜•์‹์— ์ฃผ์˜ํ•ด์•ผํ•œ๋‹ค. ๋งˆ์ง€๋ง‰ ์›์†Œ๋Š” '>'๋กœ ๋งˆ๋ฌด๋ฆฌ ํ•ด์ค˜์•ผ ํ•˜๊ธฐ์— ๋”ฐ๋กœ ์ฒ˜๋ฆฌํ•˜์˜€๋‹ค.