우선순위를 나타내는 priorities
, 구해야 할 위치 값인 location
이 주어진다.
priorities[location]
의 해당하는 값이 몇 번째로 출력되는지를 확인하는 문제다.
location
에 해당하는 값이 몇 번째로 출력되는지 확인하기 위한result
배열을 선언했다.
priorities
배열 첫 원소가 가장 큰 원소인지 확인 하고, 맞는 경우result
배열에서 해당 값이location
에 해당하는지 확인한다.
location
에 해당하면 값을 내보낼 때마다 기록해두고 있던i
값을 리턴한다.
- 그렇지 않은 경우, 첫 번째 요소를 맨 마지막에 다시 넣는다.
def solution(priorities, location):
answer=[]
result = [0 for _ in range(len(priorities))]
result[location] = 1
i = 0
while True:
if priorities[0] == max(priorities):
i += 1
if result[0] != 1:
priorities.pop(0)
result.pop(0)
else:
answer = i
break
else:
priorities.append(priorities[0])
result.append(result[0])
priorities.pop(0)
result.pop(0)
return answer