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