🔸 문제접근방식
- priorities를 위치를 저장하는 값과 함께 큐에 넣는다.
- 더 큰 값이 있다면 0번째 값을 맨 뒤로 보낸다.
- 더 큰 값이 없다면 해당 값을 출력하고 answer를 1증가시킨다.
- 해당 위치의 값이 location이라면 answer를 반환한다.
💧 Source Code
from collections import deque
def solution(priorities, location):
'''https://programmers.co.kr/learn/courses/30/lessons/42587
Notes:
1. priorities의 0번째보다 더 큰 값이 있는지 확인한다.
2. 더 큰 값이 있다면 0번째값을 맨 뒤로 보낸다.
3. 더 큰 값이 없다면 해당 값을 출력한다.
Args:
priorities (list): 우선순위(int)를 담은 리스트
location (int): 출력 순번을 알고 싶은 인쇄물의 index 위치
Returns:
answer (int): 인쇄물의 출력 순번
'''
answer = 0
priorities = [(p,i) for i,p in enumerate(priorities)]
priorities = deque(priorities)
while priorities:
target = priorities.popleft()
if priorities and target[0] < max(priorities)[0]:
priorities.append(target)
else:
answer += 1
if target[1] == location:
return answer
return answer
priorities = [1,1,9,1,1,1]
location = 0
print(solution(priorities, location))
'알고리즘' 카테고리의 다른 글
프로그래머스 스택큐 - 다리를 지나는 트럭 (0) | 2021.06.26 |
---|---|
프로그래머스 - 기능 개발 (스택,큐) (0) | 2021.06.25 |
프로그래머스 - 구명보트 (Greedy) (0) | 2021.06.23 |
프로그래머스 - 큰 수 만들기(Greedy) (0) | 2021.06.22 |
프로그래머스 - 조이스틱 (Greedy) (0) | 2021.06.21 |