[프로그래머스] 햄버거 만들기

Error Coder·2022년 10월 29일
0

프로그래머스

목록 보기
6/7
def solution(ingredient):
    result = 0
    stack = []

    for burger in ingredient:
        stack.append(burger)

        if len(stack) >= 4:
            bread2 = stack[len(stack) - 4]
            veg = stack[len(stack) - 3]
            meat = stack[len(stack) - 2]
            bread1 = stack[len(stack) - 1]

            if (bread1 == 1 and meat == 3 and veg == 2 and bread2 == 1):
                stack.pop()
                stack.pop()
                stack.pop()
                stack.pop()

                result += 1
            
    return result

스택을 활용하여 문제를 해결해보았다.
로직을 놓고 보면 그렇게 어려운 구조는 아니지만 꽤나 생각을 했던 문제이다.
무조건 복잡하게 생각하지 말고 단순한 로직을 짜보는 연습도 더욱 익혀나가야 될 것 같다.

다른 사람의 풀이를 보고 슬라이싱도 이용하여 푸는 로직도 익힐 수 있었다.

def solution(ingredient):
    s = []
    cnt = 0
    for i in ingredient:
        s.append(i)
        if s[-4:] == [1, 2, 3, 1]:
            cnt += 1
            for i in range(4):
                s.pop()
    return cnt
profile
개발자 지망생

0개의 댓글