โ๋ฌธ์
https://www.acmicpc.net/problem/1158

๋ฉ๋ชจ๋ฆฌ: 35052 KB, ์๊ฐ: 2588 ms
์๋ฃ ๊ตฌ์กฐ, ๊ตฌํ, ํ
์์ธํธ์ค ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
1๋ฒ๋ถํฐ N๋ฒ๊น์ง N๋ช ์ ์ฌ๋์ด ์์ ์ด๋ฃจ๋ฉด์ ์์์๊ณ , ์์ ์ ์ K(โค N)๊ฐ ์ฃผ์ด์ง๋ค. ์ด์ ์์๋๋ก K๋ฒ์งธ ์ฌ๋์ ์ ๊ฑฐํ๋ค. ํ ์ฌ๋์ด ์ ๊ฑฐ๋๋ฉด ๋จ์ ์ฌ๋๋ค๋ก ์ด๋ฃจ์ด์ง ์์ ๋ฐ๋ผ ์ด ๊ณผ์ ์ ๊ณ์ํด ๋๊ฐ๋ค. ์ด ๊ณผ์ ์ N๋ช ์ ์ฌ๋์ด ๋ชจ๋ ์ ๊ฑฐ๋ ๋๊น์ง ๊ณ์๋๋ค. ์์์ ์ฌ๋๋ค์ด ์ ๊ฑฐ๋๋ ์์๋ฅผ (N, K)-์์ธํธ์ค ์์ด์ด๋ผ๊ณ ํ๋ค. ์๋ฅผ ๋ค์ด (7, 3)-์์ธํธ์ค ์์ด์ <3, 6, 2, 7, 5, 1, 4>์ด๋ค.
N๊ณผ K๊ฐ ์ฃผ์ด์ง๋ฉด (N, K)-์์ธํธ์ค ์์ด์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
โ๐ปํ์ด
์ด ๋ฌธ์ ๋ ํ๋ฅผ ์ ์๋ฉด ๋น ๋ฅด๊ฒ ํ๋ฆฌ๋ ๋ฌธ์ ์ด๋ค. ๋จผ์ ํ์ 1~N๋ฒ๊น์ง ์๋ฅผ ๋ฃ๋๋ค. K-1๋ฒ๊น์ง ๋นผ๊ณ ๋ค์ ํ์ ๋ฃ๋๋ค. ๊ทธ๋ฆฌ๊ณ K๋ฒ์งธ ์๋ ํ์์ ๋นผ๊ณ ์ถ๋ ฅํ๋ค.
๋ฌธ์ ์์ ๋ฅผ ์๊ฐํ๋ฉด ์ฒ์ ํ์ <1, 2, 3, 4, 5, 6, 7>์ด ์๋ค. ์ด ๋์ด๋ K = 3์ด๋ฏ๋ก K-1๊น์ง ๋นผ๋ฉด 1, 2๋ฅผ ๋นผ๊ณ ๋ค์ ํ์ ๋ฃ๋ ๊ฒ์ด๋ค. ๊ทธ๋ผ K๋ฒ์งธ ์๋ก 3์ด ๋์จ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ K-1๊น์ง ๋นผ๊ณ ๋ฃ์ผ๋ฉด ์ด ๋๋ <6, 7, 1, 2, 4, 5> ์์ผ๋ก ์ ๋ ฌ๋๊ณ K๋ฒ์งธ๋ฅผ ์ถ๋ ฅํ๋ฉด 6์ด ๋์จ๋ค. ์ด์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ถ๋ ฅ์ ํ๋ฉด ๊ฒฐ๊ณผ์ ์ผ๋ก <3, 6, 2, 7, 5, 1, 4>๊ฐ ๋๋ค.
๐ป์ฝ๋
import sys
from collections import deque
input = sys.stdin.readline
N, K = map(int, input().split())
q = deque([i for i in range(1, N+1)])
print('<', end='')
while q:
for _ in range(K - 1):
q.append(q.popleft())
if len(q) - 1 > 0:
print(q.popleft(), end=', ')
else:
print(q.popleft(), end='>')
๐ํ๊ธฐ

์ฒ์์๋ mod๋ก ์ธ๋ฑ์ค ๊ณ์ฐํด์ ์ฌ๊ท๋ก ํด๋น ์์น ์๋ฅผ ์ถ๋ ฅํ๋ ค๊ณ ํ๋ค. ๊ทธ๋ฌ๋๋ ๋ฐํ์ ์๋ฌ๊ฐ ๋ฌ๋ค...์ฒ์ ํ ๋ ํ๋ฅผ ์ฐ๊ธด ํ๋๋ฐ ์ ์ ๋ ๊ฒ ์ฐ๋ ๊ฑด ์๊ฐํ์ง ๋ชปํ์๊น... ์๋ฃ๊ตฌ์กฐ๋ฅผ ์๊ณ ์์ด๋ ํ์ฉํ ์ค ๋ชจ๋ฅด๋ฉด ๋ง์งฑ ๋๋ฃจ๋ฌต...๐ฅฒ
'Coding Test > Algorithms' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1068. ํธ๋ฆฌ/Python - Gold5 (0) | 2025.03.19 |
---|---|
[๋ฐฑ์ค] 1966. ํ๋ฆฐํฐ ํ/Python - Silver3 (0) | 2025.03.18 |
[๋ฐฑ์ค] 2800. ๊ดํธ ์ ๊ฑฐ/Python - Gold4 (0) | 2025.03.18 |
[๋ฐฑ์ค]14940. ์ฌ์ด ์ต๋จ๊ฑฐ๋ฆฌ/Python - Silver1 (0) | 2025.03.10 |
[๋ฐฑ์ค] 17298.์คํฐ์/Python - Gold4 (0) | 2025.03.07 |