파이썬/코딩테스트

[프로그래머스] 햄버거 만들기 - Python(파이썬)

대전집주인 2024. 3. 23. 16:43
728x90
SMALL

 

문제 이해

  • 햄버거를 빵, 야채, 고기, 빵 순서로 만들수 있는 개수를 구해라
  • 연속된 순서여야만 햄버거로 만들수 있다.
  • 1,2,3 순서대로 빵,야채,고기 이다.
  • 햄버거를 만들면 만들어진 부분이 제거된 상태로 재료를 다시 쌓아서 햄버거가 완성되는지 본다.

문제의 경우 리스트에서 [1,2,3,1] 을 찾고 리스트에서 해당 인덱스들을 삭제후 다시 [1,2,3,1]을 찾는 작업을 한다.

리스트의 index의 경우 햄버거를 찾았을때 다시 처음으로 돌아가는게 아닌 찾은 위치의 -3부터 시작해서 찾는다 이경우는 어차피 앞부분은 햄버거를 못찾기에 다시 햄버거를 만들수 있는 -3인덱스로 시작해서 탐색한다.

마지막 햄버거의 경우 리스트길이 -3보다 인덱스가 크면 반복문은 끝난다.

 

def solution(ingredient):
    answer = 0
    index = 0

    while True:
      if len(ingredient) - 3 < index:
        break
      if ingredient[index:index+4] == [1,2,3,1]: 
        del ingredient[index:index+4]  
        index = index-3        
        answer += 1
      index += 1
    return answer
728x90
LIST