프로그래머스 연습문제
- Lv 1. 햄버거 만들기 (Python)
https://school.programmers.co.kr/learn/courses/30/lessons/133502
def solution(ingredient):
answer = 0
# 빵 야채 고기 빵
# 1 2 3 1
hamburger = [1, 2, 3, 1] # 햄버거 순서
making = []
for i in range(len(ingredient)):
making.append(ingredient[i]) # making 배열에 쌓인 재료들을 하나씩 넣으면서 햄버거를 만들 수 있는지 판단
length = len(making)
if (making[length-4:] == hamburger): # 햄버거를 만들 수 있는 재료 순서로 쌓이면 -> 햄버거를 하나 만들었으니 answer += 1
answer += 1
making.pop(length-4) # 햄버거를 만들고 나서 소진한 재로는 제거해주기
making.pop(length-4)
making.pop(length-4)
making.pop(length-4)
return answer
making
배열을 통해 스택을 만들었다.making
배열에 하나씩 쌓으면서 → 햄버거를 만들 수 있는지 검사answer
에 1을 더해주고, 재료는 사용하였으니 pop
으로 제거making
배열의 길이를 따로 선언해서 구해줄 필요 없이, 스택이기 때문에 현재 쌓인 높이부터 아래로 4개의 요소까지 햄버거를 만들 수 있는 순서인지 구하면 되기 때문에 아래와 같이 간단하게 -4
로 변경 가능# 변경 전
length = len(making)
if (making[length-4:] == hamburger):
# 변경 후
if making[-4:] == [1, 2, 3, 1]: