첫번째 코드
4개씩 [1, 2, 3, 1]과 비교한 후에 해당 값이 있으면 다시 처음부터 쭉쭉 비교하는 과정으로 진행했다!
def solution(ingredient):
answer = 0
hamburger = [1, 2, 3, 1]
i = 0
while i != len(ingredient):
if ingredient[i:i+4] == hamburger:
answer += 1
del ingredient[i:i+4]
i = 0
else:
i += 1
return answer
근데 반만 맞고 반은 시간 초과가 뜬다...
내 생각에는 틀린 코드라기 보다는 계속 i=0으로 되돌아가면서 진행하여 계산 수가 너무 많아진 것이 문제라고 생각된다.
두번째 코드
이런저런 방법을 생각하다가 끝에서 4개의 원소만 [1, 2, 3, 1]에 해당하면 정답이라는 생각이 들었다.
하여 다시 i=0으로 처리하여 처음부터 더하는 과정이 아닌 끝에서 4개만 계속 비교하는 코드를 작성했다.
def solution(ingredient):
answer = 0
hamburger = [1, 2, 3, 1]
in_the_burger = []
i = 0
for i in ingredient:
in_the_burger.append(i)
if len(in_the_burger) < 4:
continue
else:
if in_the_burger[-4:] == hamburger:
answer += 1
del in_the_burger[-4:]
return answer
통과:)
링크
programmers/프로그래머스/1/133502. 햄버거 만들기 at main · ornni/programmers
repository for recording Programmers Algorithm problem solving - ornni/programmers
github.com