본문 바로가기
코딩 테스트/프로그래머스

햄버거 만들기

by ornni 2024. 5. 16.
728x90
반응형

첫번째 코드

 

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

 

통과:)


링크

https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/133502.%E2%80%85%ED%96%84%EB%B2%84%EA%B1%B0%E2%80%85%EB%A7%8C%EB%93%A4%EA%B8%B0

 

programmers/프로그래머스/1/133502. 햄버거 만들기 at main · ornni/programmers

repository for recording Programmers Algorithm problem solving - ornni/programmers

github.com

 

반응형

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

카펫  (0) 2024.05.17
기사단원의 무기  (0) 2024.05.17
행렬의 곱셈  (0) 2024.05.15
붕대 감기  (0) 2024.05.15
크기가 작은 부분 문자열  (0) 2024.05.14