본문 바로가기
백준

[백준] 11866번 파이썬 (요세푸스 문제 0)

by 헤이즐넛 좋아하는 개발자 2024. 2. 22.

문제에서 준 예시를 정리해봤더니 규칙을 찾을 수 있었다.


규칙을 바탕으로 코드를 작성했다.

import sys
input = sys.stdin.readline

n, k = map(int, input().split())

lst = [(i+1) for i in range(n)]
res_lst = []

i = k-1
while True:
    res_lst.append(str(lst.pop(i)))
    i += (k-1)
    # print(lst)
    if (len(lst) == 0):
        break
    while (i >= len(lst) and i != 0):
        i -= len(lst)

print('<'+', '.join(res_lst)+'>')

중간에 lst를 계속 출력해보면서 과정이 맞게 진행되고 있는지까지 확인했다.