728x90
반응형
from collections import deque
def solution(priorities, location):
queue = deque()
for i in range( len(priorities) ):
queue.append( [ priorities[i], i ] )
answer = []
while queue:
n = queue.popleft()
for q in queue:
if n[0] < q[0] :
queue.append(n)
n = []
break
if n :
answer.append( n[1] )
return answer.index(location) +1
location은 index와 동일하다.
step 1 ) queue 자료 구조를 사용하기 위해서 deque 정의
step 2 ) 맨 처음 대기목록에서의 순서를 사용해서 return 값에 적용할 것이므로 우선순위와 location 을 리스트로 묶어 deque에 저장
step 3 ) 문제에 주어진 대로 구현, 나보다 우선순위가 높은 값이 뒤에 있으면 빼서 큐 맨 뒤로 보내고
없으면 answer 배열에 넣음
step 4 ) 처음에 입력받은 location 이 answer 의 어느 위치에 있는지 출력한다. 단, 출력 순위는 1 부터 시작하므로 +1 해준다.
728x90
반응형
'프로그래머스 > Level 2' 카테고리의 다른 글
타겟넘버 (0) | 2021.04.08 |
---|---|
해시 - 전화번호 목록 (0) | 2020.10.14 |
스택/큐 - 주식가격 (0) | 2020.10.13 |
최댓값과 최솟값 (0) | 2020.10.13 |
큰 수 만들기 * (0) | 2020.10.09 |