728x90
    
    
    
  ๐ ๋ฐฑ์ค 1158 - ์์ธํธ์ค ๋ฌธ์ 
๐ก ๋์ ํ์ด
์์ธํธ์ค ๋ฌธ์ ๋ ์ฐ๊ฒฐ๋ฆฌ์คํธ(linkedList)๋ก ํ ์ ์๋ ์ ํ์ ์ธ ๋ฌธ์ ์ด์ง๋ง ํ(queue)๋ฅผ ์ฌ์ฉํด์๋ ํ ์ ์๋ค.
- k๋ฒ์งธ์ ์ฌ๋๋ค์ด ๊ณ์ํด์ ์ ๊ฑฐ๋์ด์ผ ํ๋ฏ๋ก cnt๋ฅผ 0์ผ๋ก ์ด๊ธฐํํ๋ค.
 len(arr)์ด 0์ด๋ ๋๊น์ง ์ ์ผ ์์ ์๋ ์๊ฐ ์ ์ผ ๋ค๋ก ์ด๋ํ๋ฉด์ ์ํํ๋ค.- ํ๋ฒ ์ํ ํ ๋๋ง๋ค 
cnt๊ฐ 1์ฉ ๋์ ๋๋ค. - ๋ง์ฝ, 
cnt๊ฐk-1์ ๊ฐ๋ค๋ฉด ๋ค์ ์ฌ๋์ด ์ ๊ฑฐ๋์ผํ๋ฏ๋ก ํด๋น ์๋ฅผstack์ ์ถ๊ฐํ๋ค.(์ธ๋ฑ์ค๋ 0๋ถํฐ ์ธ๋ฏ๋กk-1๋ก ์ ์ธํ๋ค.) stack์ผ๋ก ๋น ์ก๋ค๋ฉด ๋ค์ 0๋ถํฐ ์นด์ดํธํ๋ค.
๊ทธ๋ด์ธํ ๋ก์ง์ด๋ค. ํ์ง๋ง, ์ด๋๋ก ์ ์ถํ๋ฉด ์คํ์๊ฐ์ด ๋น์ฝ์ ์ผ๋ก ๋๊ฒ ๋์จ๋ค.
๊ทธ๋์ ๋ค์ ์ ๊ฑฐํ  ์ฌ๋์ ์ธ๋ฑ์ค๋ฅผ ์ฐพ์ ๋ (k-1) mod N๋ฒ ํฌ์ธํฐ๋ฅผ ๋์ ํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค. ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ์คํ์๊ฐ์ด ๋จ์ถ๋๋ค.
# ๋์ ์ฝ๋(cnt)
import sys
from collections import deque
input = sys.stdin.readline
n, k = map(int, input().split())
arr = deque(range(1, n + 1))
stack = []
cnt = 0
while arr:
    if cnt == k-1:
        stack.append(arr.popleft())
        cnt = 0
    else:
        arr.append(arr.popleft())
        cnt += 1
print(f"<{', '.join(map(str, stack))}>")
# ๋ค๋ฅธ์ฌ๋์ ์ฝ๋(k-1 mod N)
import sys
input = sys.stdin.readline
n, k = map(int, input().split())
arr = list(range(1, n + 1))
stack = []
cnt = 0
while arr:
    cnt = (cnt+(k-1)) % len(arr)
    stack.append(arr.pop(cnt))
print(f"<{', '.join(map(str, stack))}>")๋ฐ์ํ
    
    
    
  'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 10828 - ์คํ (0) | 2021.05.04 | 
|---|---|
| [ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 10773 - ์ ๋ก (0) | 2021.05.04 | 
| [ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 2164 - ์นด๋2 (0) | 2021.05.04 | 
| [ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 10250 - ACM ํธํ  (0) | 2021.05.01 | 
| [ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 14467 - ์๊ฐ ๊ธธ์ ๊ฑด๋๊ฐ ์ด์ 1 (0) | 2021.04.28 | 
										
									
										
									
										
									
										
									
๋๊ธ