728x90
반응형

구현 & 덱 문제이다. 요세푸스 문제에서 조금 진화한 버전인 것 같은데,

오른쪽으로 돌 때는 K-1번, 왼쪽으로 돌 때는 K번 돈다는 점만 이해하면 쉽게 풀 수 있다.

PyPy3로 제출해야 시간 초과가 안 나온다.

from collections import deque

N, K, M = map(int, input().split())
queue = deque(range(1, N+1))
i = 0
while queue:
    if i//M % 2 == 0:
        for _ in range(K-1):
            queue.append(queue.popleft())
    else:
        for _ in range(K):
            queue.appendleft(queue.pop())
    i += 1
    print(queue.popleft())
728x90
반응형

+ Recent posts