728x90
반응형
1. 문제 설명
2. 풀이과정
해당 문제는 컨테이너 벨트를 스택 구조로 하여 해결하면 된다.
상자를 1번부터 하나씩 불러와 우선 컨테이너 벨트에 싣는다.
그리고 컨테이너 벨트가 비거나 꺼낼 수 있는 상자가 현재 실어야 하는 상자가 아닐 때까지 반복하며 상자를 트럭에 싣는다.
- 컨테이너 벨트를 리스트로 생성한다. belt = []
- 현재 실을 상자의 인덱스를 저장할 변수를 생성하고 초기화한다. idx = 0
- 상자는 1번부터 전체 실을 상자의 개수만큼 존재하므로 하나씩 불러오며 for box in range(1, len(order) + 1)
- 현재 상자를 일단 컨테이너 벨트에 싣는다. belt.append(box)
- 컨테이너 벨트 위에 상자가 존재하고 현재 컨테이너 벨트에서 꺼낼 수 있는 상자가 현재 실어야 하는 상자의 순서이면 while (belt) and (belt[-1] == order[idx])
- 상자를 트럭에 싣고 실은 개수를 증가시킨다. answer += 1
- 상자를 실었으므로 다음으로 실어야 하는 상자로 이동한다. idx += 1
- 컨테이너 벨트에서 꺼내 실었으므로 상자를 제거한다. belt.pop()
반응형
3. 소스코드
def solution(order):
answer = 0
belt = []
idx = 0
for box in range(1, len(order) + 1):
belt.append(box)
while (belt) and (belt[-1] == order[idx]):
answer += 1
idx += 1
belt.pop()
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] 기지국 설치 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.13 |
---|---|
[프로그래머스] 소수 찾기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.11 |
[프로그래머스] 다리를 지나는 트럭 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.09 |
[프로그래머스] 가장 큰 수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.07 |
[프로그래머스] 단속카메라 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.03 |
[프로그래머스] 2개 이하로 다른 비트 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.01 |
[프로그래머스] 대충 만든 자판 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.29 |
[프로그래머스] 2 x n 타일링 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.09.27 |