https://www.acmicpc.net/problem/1158
๐ ๋ฌธ์ ๋ถ์
์คํ๊ณผ ํ์ ๊ตฌ์กฐ ์ฌ์ฉ
๐ ์๊ณ ๋ฆฌ์ฆ ์ค๊ณ
์์ ์ ์ K๋ฅผ ์ ๋ ฅ๋ฐ๊ณ , K ๋ฒ์งธ ์์(์ฃผ๊ธฐ)๋ง๋ค ์ฌ๋์ ์ ๊ฑฐํ๋ค.
์ ๊ฑฐ๋ ์ฌ๋์ ์์๋๋ก ์ถ๋ ฅํ๋ค.
๐ ์ฝ๋
import sys
from collections import deque
people = deque()
n, k = map(int, sys.stdin.readline().split())
for i in range(1, n+1):
people.append(i)
result = []
i = 0
while len(people) > 0:
for j in range(1, k):
people.append(people.popleft())
result.append(people.popleft)
print(str(result).replace('[', '<').replace(']', '>'))
๋จผ์ ์์ด n๋ค์ ์ ๋ ฅ๋ฐ์ people์ ์ง์ด๋ฃ๋๋ค.
while๋ฌธ์์ people์ ์ซ์๊ฐ ์๋๋์ ๊ณ์ ๋์๊ฐ๊ฒ ๋๋ค.
for๋ฌธ์์๋ ์ฒ์๋ถํฐ k-1๊น์ง ์ ์ผ ์ ์์๊ฐ people์ ๋ค์ด๊ฐ๊ฒ ๋๋ค (์์ ์ด๋ฃจ๋ฉฐ ์์์๊ธฐ ๋๋ฌธ์ด๋ค.)
result ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด people์ ๋งจ ์์์(k ์ฃผ๊ธฐ๋ก ์ญ์ ๋ ์์)๋ฅผ popleft๋ฅผ ํตํด ์ญ์ ํ๊ณ appendํด์ค๋ค.
์ด์ result๋ฅผ ํ๋ฆฐํธํด์ฃผ๋ฉด ๋๋๋ฐ ์๊ฐ < > ์์ ๋ค์ด์์ผ๋, ๋ฆฌ์คํธ๋ฅผ ํ๋ฆฐํธํ๋ [ ] ๋ถ๋ถ์ < >์ผ๋ก ๊ฐ๊ฐ replace() ๋ฅผ ํตํด ๋์ฒดํด์ฃผ๋ฉด ๋๋ค.
๐ ํ๋ฆฐ ์ด์
- TypeError: 'str' object cannot be interpreted as an integer
- ์ถ๋ ฅ ๋ถ๋ถ์์ < > ๋ถ๋ถ ๋๋ฌธ์ ๋ฆฌ์คํธ๋ก ์ถ๋ ฅํด์ผํ๋ ๊ณ ๋ฏผํ๋ค.
- ๋ฐํ์ ๋ฉ๋ฌ
๐ ํ๋ฆฐ ๋ถ๋ถ ์์ or ๋ค๋ฅธ ํ์ด
- map() ์ฌ์ฉ์ผ๋ก ํด๊ฒฐ
- replace() ์ฌ์ฉ์ผ๋ก ํด๊ฒฐ
- popleft()์ฌ์ฉ์ผ๋ก ํด๊ฒฐ
๐ ๋๋์ or ๊ธฐ์ตํ ์ ๋ณด
- map์ ๋ฆฌ์คํธ์ ์์๋ฅผ ์ง์ ๋ ํจ์๋ก ์ฒ๋ฆฌํด์ฃผ๋ ํจ์์ด๋ค.
- ๋ฆฌ์คํธ๋ฅผ ์ถ๋ ฅํ ๋ ๊ฐ์ด ์ถ๋ ฅ๋๋ ๋ฌธ์([ ])๋ฅผ replace๋ก ๋ฌธ์ ๋์ฒด๋ฅผ ํ ์ ์๋ค.
- popleft()๋ ์ ์ผ ์์ ์์๊ฐ ์ญ์ ๋๋ค.
'๋ฐฑ์ค | Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค][11724] ์ฐ๊ฒฐ ์์์ ๊ฐ์ | ํ์ด์ฌ (0) | 2024.05.16 |
---|---|
[๋ฐฑ์ค][1260] DFS์ BFS | ํ์ด์ฌ (0) | 2024.05.13 |
[๋ฐฑ์ค][1654] ๋์ ์๋ฅด๊ธฐ | ํ์ด์ฌ (0) | 2024.05.11 |
[๋ฐฑ์ค][2805] ๋๋ฌด์๋ฅด๊ธฐ | ํ์ด์ฌ (0) | 2024.05.09 |
[๋ฐฑ์ค][10828] ์คํ | ํ์ด์ฌ (0) | 2024.05.06 |