• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

[섹션5-공주구하기] 질문드립니다.

23.04.27 17:43 작성 23.04.27 17:44 수정 조회수 223

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])

답변 1

답변을 작성해보세요.

0

안녕하세요^^

위에 코드의 while문 조건이 잘못된 것 같네요. while문이 반복하지 않는 조건입니다.