[백준] 파이썬 11866번 요세푸스 문제 0
본문 바로가기
카테고리 없음

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

by 쏠수있어ㅤ 2021. 6. 16.
반응형

 

 

 


 

 

코드  : 

from collections import deque
n, k = map(int,input().split())

que = deque()
for i in range(1,n+1):
    que.append(i)


print('<', end='')

while que:
    for i in range(k-1):
        que.append(que[0])
        que.popleft()
    print(que.popleft(),end='')
    if que:
        print(',',end='')

print('>')

list 보다 성능이 좋은 que를 사용

1~n 까지의 수를 que 라는 deque에 담기 

que 안의 값이 있는 동안 k-1 번 동안 que의 첫번째 원소를 제거 --> 출력해야하는 k번째 요소가 나오게됨 

if que: 만약 que에 요소가 있다면 , 컴마 붙여서 print하고 요소가 없다면 (마지막것이 방금 출력되어) 그냥 출력되고 > 가 붙어 마무리된다. 

 

 

반응형

댓글