def solution(priorities, location):
pick_idx=location
max_num=max(priorities)
print_order=0
while True:
# 첫번째 요소를 pop
tmp=priorities.pop(0)
# 현재 location update
if pick_idx>=0:
pick_idx-=1
else:
pick_idx+=len(priorities)
if max_num>tmp:
# max값이 아니라면 뒤에 넘기기
priorities.append(tmp)
else:
# 출력 순서 +1
print_order+=1
# pick_idx가 -1 일 경우 == pop 됐을 경우 (max값이면서, pop된 경우)
if pick_idx==-1:
return print_order
# max 값 update
max_num=max(priorities)
pick_idx
가 -1인 경우는 우리가 출력해야 되는 게 pop이 된 상태
이다.