반응형
250x250
Notice
Recent Posts
Recent Comments
Link
DecordRay
[프로그래머스] Level1 : 햄버거 만들기[Python] 본문
728x90
반응형
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/133502
* Tip - 문제 예시에서 문제의도(힌트)를 파악하는 것이 중요!!
문제 예시 중
상수의 앞에 쌓이는 재료의 순서가 [야채, 빵, 빵, 야채, 고기, 빵, 야채, 고기, 빵]일 때, 상수는 여섯 번째 재료가 쌓였을 때, 세 번째 재료부터 여섯 번째 재료를 이용하여 햄버거를 포장하고, 아홉 번째 재료가 쌓였을 때, 두 번째 재료와 일곱 번째 재료부터 아홉 번째 재료를 이용하여 햄버거를 포장합니다.
이 부분에서 문제 의도를 파악해야 한다.
접근법
1. 여섯 번째 재료가 쌓였을때 두번째 빵이 아닌 세번째 빵부터 포장을한다. (연달아 이어지는 재료로 포장해야한다.)
2. 햄버거 하나 포장후(세번째 ~ 여섯 번째) 두번째, 일곱 번째, 아홉번째, 열번째 재료를 이용하여 햄버거를 포장한다.
(포장한 재료들은 리스트에서 지우라는 뜻으로 해석했다.)
풀이 :
1. 리스트 생성
- make_list : 재료들을 하나씩 담으면서 햄버거 포장이 가능한지를 확인할 리스트
2. ingredient의 원소 개수만큼 반복문을 진행하면서 make_list에 ingredient 원소들을 하나씩 넣어준다.
3. make_list의 마지막 4개의 원소가 [1,2,3,1]일 경우 포장 가능하므로 answer + 1 해주고 포장한 재료들은 삭제해준다.
코드 :
def solution(ingredient):
answer = 0
make_list = []
for i in ingredient:
make_list.append(i)
if make_list[-4:] == [1,2,3,1]:
answer += 1
for j in range(4):
make_list.pop()
return answer
728x90
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Level1 : 둘만의 암호[Python] (0) | 2023.02.06 |
---|---|
[프로그래머스] Level1 : 옹알이(2)[Python] (0) | 2023.02.06 |
[프로그래머스] Level1 : 문자열 나누기[Python] (0) | 2023.02.03 |
[프로그래머스] Level1 : 기사단의 무기[Python] (0) | 2023.02.03 |
[프로그래머스] Level1 : 숫자 짝꿍[Python] (0) | 2023.02.03 |
Comments