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
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 17952번 과제는 끝나지 않아!(python) (0) | 2021.03.06 |
---|---|
백준 알고리즘 12605번 단어순서 뒤집기(python) (0) | 2021.03.06 |
백준 알고리즘 18115번 카드 놓기(python) (0) | 2021.03.06 |
백준 알고리즘 13417번 카드 문자열(python) (0) | 2021.03.06 |
백준 알고리즘 2346번 풍선 터뜨리기(python) (0) | 2021.03.06 |