작성
·
310
·
수정됨
0
안녕하세요 선생님!
[섹션5-공주구하기] 문제 강의를 듣다가 궁금한점이 생겨서 질문드리게되었습니다.
먼저 코드를 작성해보았었는데, 저의 풀이 아이디어는
(1) 데크의 원소 개수가 1개가 될 때 까지 반복
(2) 데크를 왼쪽으로 k-1만큼 회전
(3) 데크의 가장 첫번째 원소를 제거
하도록 코드를 작성했는데요, 예제 입력 8과 3을 넣었는데 1이 출력됩니다.. ㅠㅠ 어디가 잘못되었는지 알려주실 수 있을까요..?
from collections import deque
n, k = map(int, input().split())
# 데크에 왕자 번호 생성
prince = deque()
for i in range(1, n+1):
prince.append(i)
while len(prince) == 1:
prince.rotate(-(k-1)) # 왼쪽으로 k-1만큼 회전
prince.popleft() # 데크의 가장 첫번째 원소 제거
print(prince[0])