✔️

답안

# point 각 접시별 점수가 들어있는 배열 # dish 먹고자하는 접시의 위치 def solution(point, dish): #배열 순서는 0부터 시작, 입력은 1부터시작이기 때문에 -1 해준다. dish -=1 answer = 0 #오름차순으로 정렬 s = sorted(point) while True: # point 제일 앞의 점수를 추출하여 p에 넣어 놓는다. 즉, 앞에 도착한 접시의 점수! # pop과 append를 활용해 회전하도록 구현할 예정 ! p = point.pop(0) #현재 s[0]은 point 배열을 에서 가장 작은 값을 가지고 있음! #현재 가장 낮은 점수를 가지고 있는 접시가 앞에 도착했다면 먹도록 할것! if s[0]==p: #앞에 도착한 접시가 선택한 접시라면 먹고 반복문 종료 if dish == 0: break #선택한 접시 움직임. dish-=1 #한 접시를 먹었음으로 하나 줄어듬 s.pop(0) else: #접시위 초밥을 먹을 수 있는 조건이 충족되지 않아 그대로 둔다 # pop했던것을 다시 append. point.append(p) #접시의 움직임 만약 선택한 접시가 앞에 도착했다면 맨뒤로 보내고, #그렇지 않다면 한칸 당긴다. dish = len(point)-1 if dish==0 else dish-1 # 반복 한번당 접시 한번 지나감을 나타냄. answer+=1 return answer #한글 변수 풀이 def solution(접시점수, 먹을접시위치): 먹을접시위치 -= 1 정답 = 0 정렬된접시점수 = sorted(접시점수) while True: 맨앞접시 = 접시점수.pop(0) if 정렬된접시점수[0] == 맨앞접시: if 먹을접시위치 == 0: break 먹을접시위치 -= 1 정렬된접시점수.pop(0) else: 접시점수.append(맨앞접시) 먹을접시위치 = len(접시점수) - 1 if 먹을접시위치 == 0 else 먹을접시위치 - 1 정답 += 1 return 정답 print(solution(접시점수, 먹을접시위치))