from collections import deque
def solution(priorities, location):
priorities=[(i,pri) for i, pri in enumerate(priorities)]
# print(priorities)
que=deque(priorities)
order = []
while que:
pri = que.popleft()
# print(pri)
if len(que)!=0: #길이기 0이 아닐때 max 함수 쓴다
if pri[1] < max(map(lambda x: x[1],que)):
que.append(pri)
elif pri[1]>= max(map(lambda x: x[1],que)):
order.append(pri)
if pri[0]==location:
return order.index(pri)+1
else: #예외처리.max 함수 없음
order.append(pri)
if pri[0]==location:
return order.index(pri)+1
def solution(priorities, location):
queue = [(i,p) for i,p in enumerate(priorities)]
answer = 0
while True:
cur = queue.pop(0)
if any(cur[1] < q[1] for q in queue):
queue.append(cur)
else:
answer += 1
if cur[0] == location:
return answer
max 함수는 빈 리스트를 인자로 받을 경우 런타임 에러가 남. 이것을 방지하기 위함
ex) 리스트 값 중 하나라도 5보다 크다면?
a= [1,2,3,4,5]
any(0 > i for i in a)
>>> False
any(2 > i for i in a)
>>> True # 1보다 크니까
any(6 > i for i in a)
>>> True
all(0>i for i in a)
>>> False
all(2>i for i in a)
>>> False # 1보다 커도 다른것보단 작아서
all(6>i for i in a)
>>> True # 모든 것들보다 큼