ingredient
의 원소는 1
, 2
, 3
중 하나의 값이며, 순서대로 빵, 야채, 고기를 의미합니다.
빵-야채-고기-빵 순서여야지만 햄버거를 만들 수 있다.
만들 수 있는 햄버거의 개수는?
def solution(ingredient):
answer = 0
stack=[]
for i in ingredient:
stack.append(i)
if stack[-4:]==[1,2,3,1]:
answer+=1
# stack=stack[:(len(stack)-4)]
for k in range(4):
stack.pop()
return answer
def solution(ingredient):
answer = 0
stack=[]
for i in ingredient:
stack.append(i)
if stack[-4:]==[1,2,3,1]:
answer+=1
stack=stack[:(len(stack)-4)]
return answer
햄버거가 만들어지면 stack
을 슬라이싱하여 update하였다.
하지만, 시간 복잡도가 꽤 커보였다.
그리고 테스트 5, 12에서 시간 초과가 발생하였다.
pop()
def solution(ingredient):
answer = 0
stack=[]
for i in ingredient:
stack.append(i)
if stack[-4:]==[1,2,3,1]:
answer+=1
for k in range(4):
stack.pop()
return answer
시간 차이가 꽤 나는 것을 확인할 수 있다.