본문 바로가기

카테고리 없음

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

레벨 3 DP문제 풀다가 .. 머리 터지고 힐링하러 레벨 1 문제를 찾았다. 내 수준은 렙1이더라! 😑

6분컷.

from collections import deque
def solution(ingredient):
    answer = 0
    stack = []
    hamburger = [1, 3, 2, 1]
    for i in ingredient:
        stack.append(i)
        if len(stack) >= 4 and i == 1:
            is_possible_to_make = True
            for k in range(1, 5):
                if not stack[-k] == hamburger[k-1]:
                    is_possible_to_make = False
                    break
            if is_possible_to_make:
                for _ in range(4):
                    stack.pop()
                answer += 1
    return answer

 

아따.. 코테 간만에 푼다고 되게 복잡하게 코드 짰다.. 싶었는데 진짜 복잡하게 한 거였다. 파이썬스럽지 못한..

다른 분들 풀이 보고 다시 겸손해졌다 : ) 🙄🙄

 

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

 

배열 접근 때문에 위와 같이 한 거였는데, 범위로 접근하면 인덱스 에러가 안 나는 사실을 순간 잊었던 것 같다.