I about me

[Python] 햄버거 본문

Algorithm/프로그래머스

[Python] 햄버거

ssungni 2024. 4. 17. 14:16

해당 문제를 보는데 계속 초등학교 보드게임 스택버거가 생각났다...  그냥 그렇다고ㅋㅋ

이 문제는 아래서부터 위 뭐 이러면서 자연스럽게 "스택"을 이용해야한다는 것을 깨달았다.

 

햄버거는 빵 - 야채 - 고기 - 빵 순서로 만들어지고,

여기서 빵 = 1, 야채 = 2, 고기 = 3이다.

 

재료가 다음과 같이 주루룩 준비되면,

ingredient = [2, 1, 1, 2, 3, 1, 2, 3, 1]

 

빵 - 야채 - 고기 - 빵 순서 즉, 1 - 2 - 3 - 1에 맞게

얼마만큼에 햄버거를 만들 수 있는지 코드를 짜보는 문제였다!

 

주어진 예시를 한 번 보자

예시에 따라 아래와 같이 손으로 작성해보면,
들어온 스택에 [-4:]로 슬라이싱 하여 확인해본 뒤 다음 순서로 채워지면 del 하면 된다는 걸 깨달았다!!

def solution(ingredient):
    s = []
    cnt = 0
    for i in ingredient:
        s.append(i)
        if s[-4:] == [1, 2, 3, 1]:
            cnt += 1
            del s[-4:]
    return cnt