문제가 궁금하시다면 햄버거 만들기를 클릭하세요.
문제 설명
정해진 순서(빵 - 야채 - 고기 - 빵)로 쌓인 햄버거만 포장하며, 각 재료는 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) 형태로 사용
괄호() 에는 요소의 위치에 해당하는 인덱스를 입력해 값을 리턴하고 삭제한다.
'알고리즘(python) > 프로그래머스(python)' 카테고리의 다른 글
[프로그래머스] LV.2 JadenCase 문자열 만들기(python) (0) | 2023.03.04 |
---|---|
[프로그래머스] LV.1 신고 결과 받기(python) (0) | 2023.03.04 |
[프로그래머스] LV.1 개인정보 수집 유효기간(python) (0) | 2023.03.04 |
[프로그래머스] LV.1 바탕화면 정리(python) (0) | 2023.03.04 |
[프로그래머스] LV.1 대충 만든 자판(python) (2) | 2023.03.02 |