[프로그래머스] 택배상자 - 파이썬/구현

JinUk Lee·2023년 8월 7일
0

프로그래머스

목록 보기
42/47

https://school.programmers.co.kr/learn/courses/30/lessons/131704


from collections import deque

def solution(order):
    answer = 0
    n = len(order)
    main = [ i for i in range(1,n+1)]
    main = deque(main)
    order = deque(order)
    sub = []


    for i in range(n):

        if not order:
            break

        if main[0] != order[0]:
            now = main.popleft()
            sub.append(now)

        else:
            main.popleft()
            order.popleft()
            answer +=1
            if sub:
                while sub[-1]==order[0]:
                    sub.pop()
                    order.popleft()
                    answer +=1
                    if not sub or not order:
                        break



    return answer

약간 하노이의 탑이 생각나는 문제였다.

주어진 조건을 그대로 구현해서 코드를 작성했는데, 인덱스에 접근하는만큼 인덱스 오류가 발생하지 않게 조건문을 설정했다.

profile
개발자 지망생

1개의 댓글

comment-user-thumbnail
2023년 8월 7일

좋은 글 감사합니다.

답글 달기