[프로그래머스 python] 스택큐 - 프린터

이혜지·2022년 1월 27일
0

Algorithm

목록 보기
3/12
post-thumbnail

문제설명은 해당 링크 들어가면 보기 가능
https://programmers.co.kr/learn/courses/30/lessons/42587

pop을 이용하지 않고 index를 이용하여 풀었다.
index를 계속 +1 해주면서
if문으로 max 값이라면 해당 값을 0으로 바꿔주고, cnt 를 +1 해준다.
만일 if문에 걸린 max값의 index가 찾을 위치 location과 같다면 cnt +1 을 해준값이 answer이다. 답 찾고 나면 break문으로 종료

def solution(priorities, location):
    answer = 0
    idx = 0
    cnt = 0
    l = len(priorities)
    m = max(priorities)
        
    while True:
        if priorities[idx % l] < m:
            idx += 1
        elif priorities[idx % l] == m:
            if idx % l == location:
                cnt += 1
                answer = cnt
                break
            else: 
                priorities[idx % l] = 0
                idx += 1
                cnt += 1
                
        m = max(priorities)
       
    return answer

print(solution([1, 1, 9, 1, 1, 1], 0))
profile
공유 문화를 지향하는 개발자입니다.

0개의 댓글