๋ฐฑ์ค€ | Baekjoon

[๋ฐฑ์ค€][1158] ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ | ํŒŒ์ด์ฌ

sungkshon 2024. 5. 8. 09:57
๋ฐ˜์‘ํ˜•

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() ๋ฅผ ํ†ตํ•ด ๋Œ€์ฒดํ•ด์ฃผ๋ฉด ๋œ๋‹ค.  

 

๐Ÿ‘‰ ํ‹€๋ฆฐ ์ด์œ 

  1. TypeError: 'str' object cannot be interpreted as an integer
  2. ์ถœ๋ ฅ ๋ถ€๋ถ„์—์„œ < > ๋ถ€๋ถ„ ๋•Œ๋ฌธ์— ๋ฆฌ์ŠคํŠธ๋กœ ์ถœ๋ ฅํ•ด์•ผํ•˜๋‚˜ ๊ณ ๋ฏผํ–ˆ๋‹ค.
  3. ๋Ÿฐํƒ€์ž„ ๋ฉ”๋Ÿฌ

 

๐Ÿ‘‰  ํ‹€๋ฆฐ ๋ถ€๋ถ„ ์ˆ˜์ • or ๋‹ค๋ฅธ ํ’€์ด

  1. map() ์‚ฌ์šฉ์œผ๋กœ ํ•ด๊ฒฐ
  2. replace() ์‚ฌ์šฉ์œผ๋กœ ํ•ด๊ฒฐ
  3. popleft()์‚ฌ์šฉ์œผ๋กœ ํ•ด๊ฒฐ

๐Ÿ‘‰ ๋А๋‚€์  or ๊ธฐ์–ตํ• ์ •๋ณด

  1. map์€ ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๋ฅผ ์ง€์ •๋œ ํ•จ์ˆ˜๋กœ ์ฒ˜๋ฆฌํ•ด์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค.
  2. ๋ฆฌ์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ• ๋•Œ ๊ฐ™์ด ์ถœ๋ ฅ๋˜๋Š” ๋ฌธ์ž([ ])๋ฅผ replace๋กœ ๋ฌธ์ž ๋Œ€์ฒด๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  3. popleft()๋Š” ์ œ์ผ ์•ž์˜ ์š”์†Œ๊ฐ€ ์‚ญ์ œ๋œ๋‹ค.
๋ฐ˜์‘ํ˜•