Seize the day
article thumbnail

문제가 궁금하시다면 햄버거 만들기를 클릭하세요.

문제 설명

정해진 순서(빵 - 야채 - 고기 - 빵)로 쌓인 햄버거만 포장하며, 각 재료는 ingredient 매개변수로 입력됩니다.

빵, 야채, 고기 순으로 1, 2, 3으로 입력됩니다.

문제 해결

def solution(ingredient):
    answer = 0
    a = 0
    for i in range(len(ingredient)):
        if ingredient[a:a+4] == [1,2,3,1]:
            del ingredient[a:a+4]
            answer += 1
            a -= 2
        else:
            a += 1
    return answer

문제 풀이 설명

슬라이싱해서 ingredient를 업데이트 했지만 시간초과가 떠서 예약어 del로 '1231' 순서로 되어있는 요소들을 삭제했더니 해결할 수 있었다.

사용된 개념(del, remove(), pop())

  • del: 인덱스로 삭제
  • remove(): 값으로 삭제
del : del array[인덱스] 형태로 사용

대괄호[] 에는 요소의 위치에 해당하는 인덱스를 입력해서 삭제할 수 있다. 슬라이싱(:)을 사용해 해당 범위의 여러 인덱스를 삭제할 수 있다.

remove() : array.remove(x) 형태로 사용

괄호() 에는 삭제하고자 하는 값을 입력한다. 단, 첫번째 값에 대해서만 삭제하므로 여러 개를 동시에 삭제 할 수 없다.

pop() : array.pop(x) 형태로 사용

괄호() 에는 요소의 위치에 해당하는 인덱스를 입력해 값을 리턴하고 삭제한다.

profile

Seize the day

@성 현

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!