https://school.programmers.co.kr/learn/courses/30/lessons/42587
❓str로 바꾸는 이유❓
cnt는 내가 요청한 문서가 몇번째에 인쇄되는지를 count하는 변수이다.
3. 우선순위 리스트 내 각 원소들의 첫번째 문자를 가져온다. (이것이 실제 우선순위 값들) 이것의 최댓값을 구하고 이를 max_q 변수에 담는다.
4. 큐에서 첫번째 원소를 뽑는다.
4번 과정을 큐가 빌때까지 반복한다.
from collections import deque
def solution(priorities, location):
# 내가 요청한 문서의 우선순위 뒤에 '0'추가.
priorities[location] = str(priorities[location]) + '0'
# 우선순위리스트 내 원소들의 자료형을 int에서 str로 바꿈
q = deque(list(map(str,priorities)))
cnt = 0
while q:
int_q = list(map(lambda x: int(x[0]), q))
max_q = max(int_q)
a = q.popleft()
if int(a[0]) == max_q: # 큐의 첫번째 원소가 최댓값인경우 인쇄
cnt+=1
try:
if a[1] == '0':
return cnt
except:
pass
else: # 큐의 첫번째 원소가 최댓값이 아닌 경우, 끝에 추가
q.append(a)