-
[프로그래머스] Lv2 프로세스알고리즘 2025. 1. 3. 23:49
우선순위가 가장 높은 것의 인덱스를 먼저 찾는 것까지는 바로 했으나
그 후 우선순위가 같은 것들이 남았을 때 어떻게 접근할지를 풀지 못 했습니다.
1. 우선순위와 인덱싱 매칭 (큐처럼 활용)
2. 큐의 가장 앞에 있는 값 꺼내서 나머지 값들의 우선순위와 비교
3. 꺼낸 값의 우선순위가 가장 크면 answer += 1
4. 아니라면 꺼낸 값을 다시 큐에 넣고 동일한 작업 반복
def solution(priorities, location): answer = 0 queue = [(i, v) for i, v in enumerate(priorities)] while queue: 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 return answer
'알고리즘' 카테고리의 다른 글
[프로그래머스] Lv2 올바른 괄호 (0) 2024.12.26 [프로그래머스] Lv1 문자열 나누기 (1) 2024.12.04 [프로그래머스] Lv0 외계어 사전 (0) 2024.11.23 [프로그래머스] Lv1 카드뭉치 (0) 2024.11.23