Algorithm Problems

[백준] [Python] 1158번 요세푸스 문제 - 큐

WakaraNai 2021. 5. 30. 15:34
728x90
반응형

https://www.acmicpc.net/problem/1158

 

1158번: 요세푸스 문제

첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)

www.acmicpc.net

 

 

Python

#요세푸스 문제

from collections import deque

n, k = map(int,input().split())
arr = deque([ i for i in range(1,n+1) ])
ans = []

step = 1
while arr:
    print(arr)
    if step == k:
        ans.append(str(arr.popleft()))
        step = 1
        continue
    step+=1
    arr.append(arr.popleft())
    
print('<'+', '.join(ans)+'>')
728x90
반응형