알고리즘(python)/프로그래머스(python)
[프로그래머스] LV.1 햄버거 만들기(python)
성 현
2023. 2. 26. 23:31
문제가 궁금하시다면 햄버거 만들기를 클릭하세요.
문제 설명
정해진 순서(빵 - 야채 - 고기 - 빵)로 쌓인 햄버거만 포장하며, 각 재료는 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) 형태로 사용
괄호() 에는 요소의 위치에 해당하는 인덱스를 입력해 값을 리턴하고 삭제한다.