풀이 요세푸스 순열의 순서는 주어진 수열에서 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] + ">") References BOJ 11866 - 요세푸스 문제 0