파이썬의 index에 접근하는 기능과 스택을 이용하면 쉽게 풀 수 있는 문제이다. 보통 list에서 원소들이 문제 조건에 맞는지 판단하는 문제는 스택, while문, 재귀를 이용하면 풀린다.
이 문제는 원소의 순서가 중요하므로 스택을 이용하여 풀어보았다. 리스트에 원소들을 계속 집어놓고 -index를 이용하여 리스트의 원소끝부터 4번째 원소까지가 [1, 2, 3, 1]이라면 리스트의 원소들을 4번 제거하고 count를 1 증가시키는 방식이다.
def solution(ingredient):
s = []
cnt = 0
for i in ingredient:
s.append(i)
if s[-4:] == [1, 2, 3, 1]:
cnt += 1
for i in range(4):
s.pop()
return cnt
'Algorithm' 카테고리의 다른 글
프로그래머스: 네트워크 (파이썬, DFS) (0) | 2022.12.14 |
---|---|
프로그래머스: 게임 맵 최단거리(파이썬, DFS, BFS) (0) | 2022.12.14 |
프로그래머스: 문자열 나누기 (파이썬, 반복문) (0) | 2022.12.05 |
프로그래머스: 전화번호 목록 (파이썬, hash, dictionary) (0) | 2022.12.05 |
프로그래머스: 숫자블록 (파이썬, 구현) (1) | 2022.11.30 |