본문 바로가기
CT

[Python] 백준 11866번 : 요세푸스 문제 0 파이썬

by shur_ 2023. 9. 6.

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

 

11866번: 요세푸스 문제 0

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

www.acmicpc.net

 

 


 


import sys
from collections import deque

N, K = map(int, sys.stdin.readline().rstrip().split())
deq = deque([i for i in range(1, N+1)])
result = []

while deq :
    
    for i in range(K-1) :
        deq.append(deq.popleft())
        
    result.append(deq.popleft())


print('<', ', '.join(list(map(str, result))), '>', sep='')

 

 

import sys
from collections import deque

N, K = map(int, sys.stdin.readline().rstrip().split())
deq = deque([i for i in range(1, N+1)])
result = []

while deq :
    
    deq.rotate(-K + 1)
    result.append(deq.popleft())


print('<', ', '.join(list(map(str, result))), '>', sep='')

+ deq rotate() 사용.

 

 

deque를 이용하여 원형느낌으로 수정해주자

댓글