풀이
요세푸스 순열의 순서는 주어진 수열에서 K 번째 원소를 순차적으로 반환했을때 나타난다.
K 가 수열의 길이을 초과할 경우 나머지를 통해 다음 순서를 알아낼 수 있다.
그 수식은 아래 order 에 명시되어 있다.
수열의 모든 원소가 반환되었을 때 출력조건에 맞게 정답을 출력해주면된다.
소스코드
import sys
input = sys.stdin.readline
n, k = map(int, input().split())
circle = [i for i in range(1, n+1)]
order = 0
ans = []
for i in range(n, 0, -1):
order = (order+k-1) % i
temp = circle.pop(order)
ans.append(temp)
print("<" + str(ans)[1:-1] + ">")