반응형
알고리즘 분류
- 구현
- 자료 구조
- 큐
SOLUTION
from collections import deque
import sys
N, K = map(int, sys.stdin.readline().split())
josephus = deque([i for i in range(1,N+1)]) # deque로 선언 rotate() 함수를 쓰기 위해
answer = ['<']
while True:
josephus.rotate(-K) # 왼쪽으로 K만큼 이동 0번째 인덱스는 마지막 인덱스로 이동한다]
if len(josephus) > 1:
answer.append(str(josephus.pop()) + ', ') # -K만큼 이동시켜서 K번째 사람을 제거시킨다.
if len(josephus) == 1: # josephus안에 값이 1개인 경우는 > 가 붙어서 출력되어야 하므로 따로 설정
answer.append(str(josephus.pop()) + '>')
break
answer = ''.join(answer)
print(answer)
'코딩테스트 대비 > BOJ' 카테고리의 다른 글
[Baekjoon/Python] 1874번: 스택 수열 - 효과는 굉장했다! (0) | 2021.11.02 |
---|---|
[Baekjoon/Python] 1654번: 랜선 자르기 - 효과는 굉장했다! (0) | 2021.11.02 |
[Baekjoon/Python] 10866번: 덱 - 효과는 굉장했다! (0) | 2021.10.30 |
[Baekjoon/Python] 10845번: 큐 - 효과는 굉장했다! (0) | 2021.10.30 |
[Baekjoon/Python] 10828번: 스택 - 효과는 굉장했다! (0) | 2021.10.30 |