요세푸스 순열은 처음 k번째 값을 꺼내고 다음은 그 위치에서 k번째 떨어진 값을 제거하면서 원에서 사람들이 제거되는 순서를 나타내는 수열이다.
원형으로 이루어 앉아있으므로 num을 초기화 해줄 때 %len(data)을 하여 data의 크기 보다 큰 경우가 없도록 한다.
코드💻
n, k =map(int,input().split())
data =[]
result =[]
num =0for i inrange(1, n+1):
data.append(i)for i inrange(n):
num =(num+k-1)%len(data)
result.append(str(data.pop(num)))print("<",", ".join(result),">", sep="")