본문 바로가기
백준

요세푸스 문제 0 - 11866번

by 청원뿔세포 2022. 10. 10.

큐를 이용하여 해결했다.

큐에 1~n까지의 수를 넣고, 큐가 텅 빌때까지 무한루프를 돌려준다.

무한루프 안에서 k-1번 popleft() 후 큐에 다시 append()를 해주고 k번째에 popleft() 를 해주고 결과 배열에 값을 담는다.

큐가 빌 때까지 반복하면된다.

from collections import deque

n, k = map(int,input().split())

q = deque(i for i in range(n+1))
q.popleft()
result = []
while q:
    for i in range(1,k):
        a = q.popleft()
        q.append(a)
    out = q.popleft()
    result.append(out)
print('<',end='')
for i in range(n):
    if i != n-1:
        print(result[i],end=', ')
    else:
        print(result[i],end='>')

'백준' 카테고리의 다른 글

가운데를 말해요 - 1655번  (0) 2022.10.11
달팽이는 올라가고 싶다 - 2869번  (0) 2022.10.10
좌표 정렬하기 - 11650번  (0) 2022.10.10
체스판 다시 칠하기 - 1018번  (0) 2022.10.09
나이순 정렬 - 10814번  (0) 2022.10.09

댓글