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