프로그래머스 스택/큐 Level 2. 프린터 문제 파이썬 풀이
프로그래머스 스택/큐 Level 2. 프린터 문제 파이썬 풀이
문제링크 https://programmers.co.kr/learn/courses/30/lessons/42587#
list의 pop을 써도 똑같으니 deque말고 list를 사용할걸 그랬다.
from collections import deque
def solution(priorities, location):
array = []
# 인덱스, 중요도 순서로 2차원 리스트 생성
for i in range(len(priorities)):
array.append([i, priorities[i]])
# deque 형식으로 변환
array = deque(array)
priorities = deque(priorities)
# 출력 순서
time = 1
while 1:
# 가장 큰 중요도 값 저장
max_pr = max(priorities)
# 요청한 문서의 index와 중요도가 같다면 리턴
if array[0][1] == max_pr and array[0][0] == location:
return time
# 중요도가 가장 크나 index가 다르다면 출력
elif array[0][1] == max_pr and array[0][0] != location:
array.popleft()
priorities.popleft()
time += 1
# 중요도가 더 큰 문서가 있다면 오른쪽에 추가
else:
a = array.popleft()
b = priorities.popleft()
array.append(a)
priorities.append(b)
return time
Author And Source
이 문제에 관하여(프로그래머스 스택/큐 Level 2. 프린터 문제 파이썬 풀이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@eazyan/프로그래머스-스택큐-Level-2.-프린터-문제-파이썬-풀이저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)