def solution(priorities, location):
answer = 0
while True:
best = max(priorities)
front = priorities.pop(0)
location -= 1
if front == best:
answer += 1
if location < 0:
return answer
else:
priorities.append(front)
if location < 0:
location = len(priorities) - 1
입력 배열인 priorities의 최대값과 가장 앞에 있는 값을 비교하여 같을 경우 answer을 1 올리고, 같지 않을 경우 가장 앞의 값을 맨 뒤로 보낸다.
그 과정에서 가장 맨 앞 값을 뺄 때마다 location을 1씩 빼주어 타겟값이 이동해주는 것을 표현해준다.
가장 앞의 값과 최대 값이 같은데 location의 값 또한 0보다 작을 경우 가장 앞의 값이 타겟값이라는 의미이기 때문에 answer을 출력한다.
최대값이 아닐 때 타겟값이 나올 경우 해당 값을 맨 뒤로 보내고 위치 값을 priorities의 길이 -1로 초기화해준다.