코딩테스트/BOJ
[Python] 백준 1158번 : 요세푸스 문제
이긍빈
2025. 4. 9. 00:56
접근 방법 1
while문을 활용하여 문제 해결 시도 -> 시간 초과 에러 발생
def josephus_problem(n, k):
numbers = [False] * n
cur_index = 0
answer = []
while len(answer) < n:
count = 0
while count < k:
if not numbers[cur_index]:
count += 1
if count == k:
break
cur_index = (cur_index + 1) % n
numbers[cur_index] = True
answer.append(cur_index + 1)
return answer
n, k = map(int, input().split())
answer = josephus_problem(n, k)
print(f"<{', '.join(map(str, answer))}>")
접근 방법 2
리스트 슬라이싱을 활용하여 문제 해결 시도
'''
해결 중
'''