https://school.programmers.co.kr/learn/courses/30/lessons/133502
def solution(ingredient):
answer = 0
stack = []
for i in range(len(ingredient)):
stack.append(ingredient[i])
if stack[-4:] == [1,2,3,1]:
answer += 1
for _ in range(4):
stack.pop()
return answer
처음엔 단지 ingredient[i:i+4]까지만 확인했다.
즉, 0~3, 1~4, 2~5.... 이런 식으로
하지만 테스트케이스를 통과할 수 없었고 다른 방식으로 접근했다.
stack에 하나씩 넣어서 1,2,3,1이 완성되면 1,2,3,1을 빼내고 answer+=1을 해주었고 통과했다.
개인적으로 for문을 두번 쓴다는 게 비효율적인것 같아서 검색을 해봤지만 대부분 이런 식으로 답안을 적었다.
'알고리즘' 카테고리의 다른 글
프로그래머스)하샤드 수-python (0) | 2023.01.18 |
---|---|
프로그래머스)1차 비밀지도- (0) | 2023.01.15 |
프로그래멋) 기사단원의 무기-python (0) | 2023.01.12 |
프로그래머스) 가장 가까운 같은 글자-python (0) | 2023.01.11 |
프로그래머스) 성격 유형 검사-python (0) | 2023.01.09 |