햄버거 만들기-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]

2022. 11. 1. 01:43·Algorithm, 코딩테스트
728x90
반응형

문제

https://school.programmers.co.kr/learn/courses/30/lessons/133502?language=python3

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 


풀이

def solution(ingredient):
    answer=0
    li=[]
    for i in ingredient: # 재료를 앞에서부터 하나씩 확인
        li.append(i)
        # li의 마지막 네 개의 원소들을 확인하여 각각 1,2,3,1 이면 그것들을 빼주고 정답을 1 더해준다.
        if len(li)>=4 and li[-4]==1 and li[-3]==2 and li[-2]==3 and li[-1]==1: 
            for _ in range(4):
                li.pop()
            answer+=1
    return answer

Tip

ingredient의 원소들을 확인하면서 연속으로 된 1, 2, 3 ,1이 있을 경우 그것을 제거하고 정답을 더해주는 식으로 문제를 풀면 원소들을 제거하는 함수의 시간복잡도 때문에 시간 초과가 발생한다. 따라서 다른 리스트(li)를 만들어서 ingredient의 원소를 하나씩 li에 넣어가면서 li의 마지막 원소 네 개가 1, 2, 3, 1인 경우에 pop() 함수를 이용하여 원소들을 제거해주면 시간 초과가 발생하지 않고 문제를 풀 수 있다.


TIL

없음

728x90
반응형
저작자표시 비영리 (새창열림)

'Algorithm, 코딩테스트' 카테고리의 다른 글

전화번호 목록-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.2]  (0) 2022.11.03
옹알이 (2)-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]  (0) 2022.11.01
신고 결과 받기-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]  (0) 2022.10.31
성격 유형 검사하기-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]  (0) 2022.10.31
숫자 짝꿍 추천-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]  (0) 2022.10.31
'Algorithm, 코딩테스트' 카테고리의 다른 글
  • 전화번호 목록-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.2]
  • 옹알이 (2)-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]
  • 신고 결과 받기-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]
  • 성격 유형 검사하기-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]
20mini
20mini
개발 공부를 하며 알게 된 내용들을 기록한 블로그입니다. 댓글로 조언, 지적, 충고 등 다양한 의견들 항상 환영합니다!!
    반응형
    250x250
  • 20mini
    해시태그코딩 #coding
    20mini
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • Python (1)
      • Algorithm, 코딩테스트 (82)
      • Machine Learning (8)
      • 논문 리뷰 (0)
      • 그 외 공부 관련 (2)
      • 기타 (1)
  • 인기 글

  • 태그

    lv.1
    lv.3
    Machine Learning
    프로그래머스
    알고리즘
    hash
    완전탐색
    Python
    lv.2
    코딩테스트
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
20mini
햄버거 만들기-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]
상단으로

티스토리툴바