[백준/Python] 11866)요세푸스 문제 0

Jimin_Note·2025년 7월 23일
0

[백준/Python]

목록 보기
34/35
post-thumbnail

✨ 2025.07.23 코딩테스트 문제 풀이

📌 문제: 요세푸스 문제 0

🧠 문제 설명

  • 1번부터 N번까지 사람들이 원을 이루고 앉아 있고, K번째 사람을 제거하는 작업을 반복(요세푸스 순열)

💻 내가 작성한 코드

  • ❌ 1번째 답안(실패)
import sys

N,K = map(int,sys.stdin.readline().split())

person= [i+1 for i in range(N)]
people = []
josephus = 0

while person:
    josephus = (josephus + K - 1) % len(person)
    people.append(person.pop(josephus))
    
print(people)

틀린이유🥲

예시 결과 : <3, 6, 2, 7, 5, 1, 4>
즉, 출력을 이렇게 <...> 해야 했었다..
위 코드는 [...] 이런 식으로 리스트형 타입이기 때문에 틀렸다

  • ⭕️ 1번째 답안(통과)
import sys

N,K = map(int,sys.stdin.readline().split())

person= [i+1 for i in range(N)]
people = []
josephus = 0

while person:
    josephus = (josephus + K - 1) % len(person)  
    people.append(person.pop(josephus))

print("<" + ", ".join(map(str, people)) + ">")

파이썬에는 <> 이렇게 출력해주는 타입이 없기 때문에
join(map) 을 활용하여 강제로 <> 를 붙여주었다.
그래서 성공..

✅ 배운 점

  • 저번 풀이에서 문제를 잘 숙지해야됨을 느껴서 문제는 잘 숙지했는데..이번 풀이에서는 예시 출력을 잘 숙지하자..를 회고하게 될줄이야..
  • join + 문자열 변환 잘 기억하자!~
profile
Hello. I'm jimin:)

0개의 댓글