재료의 정보를 나타내는 정수 배열 ingredient가 주어졌을 때, 가게에서 포장할 수 있는 햄버거의 개수를 return 하도록 solution 함수 완성하기
해당 가게는 [빵 – 야채 – 고기 - 빵] 순서대로 쌓이면 햄버거를 포장함


아래는 내가 초반에 작성했던 코드이다.

결과값은 동일했으나 런타임 에러가 발생하여 통과하지 못했는데, 이 코드가 가진 문제점을 정리해보면 다음과 같다.
1. del ingredient[i:i+4] 후 인덱스 꼬임
리스트 길이가 줄어들면 i가 더 이상 유효하지 않게 될 수도 있다.
2. 리스트 수정 중 반복 → 예측 불가능한 흐름
리스트를 탐색하면서 동시에 수정하면 반복 구조가 불안정해지고 꼬이기 쉽다.
(가장 흔한 런타임 에러 원인 중 하나)
3. 슬라이스 삭제가 연속적으로 일어날 때 반복 중 리스트 길이 급변
ingredient = [1,2,3,1,1,2,3,1] 같은 경우라면, 하나를 삭제하고 나면 곧바로 다시 조건에 맞는 조합이 생긴다.
이때, 삭제 후 다시 처음부터 순회하려고 해도 리스트가 너무 짧거나, 삭제 후 인덱스 i가 이전 위치로 점프하는 등 예상치 못한 동작이 발생할 수 있다.
https://school.programmers.co.kr/learn/courses/30/lessons/133502