[프로그래머스] 프린터

def solution(priorities, location):
    answer = 0
    while priorities:
        now = priorities.pop(0)
        # 리스트에 우선순위 높은 문서가 있는 경우
        if priorities and now < max(priorities):
            priorities.append(now)
            # 내가 요청한 문서면, location 배열 끝으로 업데이트
            if location == 0:
                location = len(priorities)-1
                continue
        # 없는 경우
        else:
            # 프린트하기
            answer += 1
            # 내가 요청한 문서면, 반복문 끝내기
            if location == 0:
                break
        # 내가 요청한 문서 아니면, location 한 칸 앞으로 업데이트
        location -= 1

    return answer

1. 목록에 문서가 있는 경우

1) 서류요청시

2) 그렇지 않은 경우

2. 목록에 문서가 없는 경우

1) 서류요청시

2) 그렇지 않은 경우

=> 요청한 문서가 아닌 경우 공통 논리이므로 중복 제거됩니다.