2024년 1월 12일 알고리즘 문제풀이
문제
난이도
Lv. 1
코드
배열을 순회하면서 순서대로 필요한 재료가 나오면 만들 수 있는 갯수를 하나 추가해주고, 해당 재료들을 제거해주었다. 이 방법은 틀렸는데, 재료가 연속해서 나와야 하기 떄문이다. 연속이라고 써놓지 좀…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def solution(ingredient):
answer = 0
arr = [1,2,3,1]
while True:
idx = 0
for x in range(len(ingredient)):
if idx ==4:
answer += 1
break
if ingredient[x] == arr[idx]:
idx += 1
ingredient[x] = 10
else:
if idx == 4:
answer += 1
else:
return answer
그래서 하나씩 배열로 옮기면서, 최근 옮긴 4개로 햄버거를 만들 수 있다면 만들고 제거하도록 로직을 바꾸었다.
1
2
3
4
5
6
7
8
9
10
11
12
def solution(ingredient):
answer = 0
tmp = []
burger = [1,2,3,1]
for x in ingredient:
tmp.append(x)
if tmp[-4:] == burger:
answer += 1
for _ in range(4):
tmp.pop()
return answer