728x90
😄 아이디어
1. 1 ~ 9 사이의 우선순위가 중복해서 존재가능 👉 _!max_key!_변수를 통해 실행예정 key 관리
2. _!priorities!_리스트에서 꺼낸 값과 _!max_key!_비교
👉 일치하면 실행, _!max_key!_ 변동여부 확인
👉 불일치하면 현재 리스트에 다시 추가
import math
def solution(priorities, location):
answer = 0
dic = {}
max_key = -1
for prior in priorities:
dic[prior] = dic.get(prior, 0) + 1
max_key = max(max_key, prior)
priorities[location] += 0.5
count = 0
while len(priorities) > 0:
oriP = priorities.pop(0)
p = math.floor(oriP)
if max_key == p:
count += 1
dic[p] = dic.get(p) - 1
if oriP > p:
return count
if dic[p] == 0:
while max_key > 0:
max_key -= 1
if dic.get(max_key) != None:
break
else:
priorities.append(oriP)
return answer
✔️링크: https://school.programmers.co.kr/learn/courses/30/lessons/42587