728x90

2022.02.08 요세푸스 문제

#11866 요세푸스 문제
from collections import deque

N, K = map(int, input().split())
arr = deque()
for i in range(1,N+1):
    arr.append(i)
result = []

for i in range(N):
    for j in range(K-1):
        arr.append(arr.popleft())
    result.append(arr.popleft())

print('<', end = '')
print(*result,sep=', ',end='')
print('>')

수학적으로 풀어 보려다가 큐로 풀면 될 것 같아서 큐로 풀었다.

 

입력받은 K-1개만큼 리스트의 뒤로 보내주고 K번째 것만 새로운 리스트인 result에 담아준다.

그리고 result를 출력해주면 끝

728x90

'Algorithm' 카테고리의 다른 글

백준 1904 파이썬  (0) 2022.02.15
백준 10989 파이썬  (0) 2022.02.09
백준 10814 파이썬  (0) 2022.02.08
백준 1874 파이썬  (0) 2022.02.08
백준 2164 파이썬  (0) 2022.02.07

+ Recent posts