사용 언어 : python
deque
를 이용해서 해결
priorities[0] 값이 max가 아닐 경우 append
로 맨 뒤로 보낸 후 popleft()
로 삭제
location
이 앞으로 하나씩 이동하므로 -1를 해준다.
location
< 0인 경우는
priorites[0]이 요청한 문서였으나, max값이 아니라 맨뒤로 보낸 경우이다.
이 경우 location
은 len(priorites)-1
이다.
-1을 하는 이유는 location
이 인덱스라고 생각하면된다.
from collections import deque
def solution(priorities, location):
priorities = deque(priorities)
count = 0
while 1:
if priorities[0] == max(priorities):
count += 1
priorities.popleft()
if location == 0:
break
else:
location -= 1
else:
priorities.append(priorities[0])
priorities.popleft()
location -= 1
if location < 0:
location = len(priorities)-1
return count