728x90
오늘의 문제: 프로그래머스 - 햄버거 만들기
https://school.programmers.co.kr/learn/courses/30/lessons/133502
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 빵, 야채, 고기는 1, 2, 3
- 햄버거는 1, 2, 3, 1
- 뒤늦게 쌓인 재료의 순서가 "1, 2, 3, 1"이면, 햄버거가 완성되고 해당 재료는 빠진다.
- 선입후출 구조이므로 stack을 사용하여 구현
풀이
def solution(ingredient):
answer = 0
# 1빵 2야채 3고기
# 1231햄버거
stack = []
for i in ingredient:
stack.append(i)
if len(stack) >= 4:
if stack[len(stack)-4:len(stack)+1] == [1, 2, 3, 1]:
for _ in range(4):
stack.pop()
answer += 1
return answer
오늘의 회고
- list는 index를 사용하여 접근할 수 있다. 음수 인덱스를 사용하면 리스트의 뒤에서부터 가져올 수 있다.
- 위 풀이에서 끝에서부터 4개의 값을 찾는 데 사용한 값 stack[len(stack)-4:len(stack)+1]을 stack[-4:]로 간단하게 나타낼 수 있다.
728x90
'Algorithm' 카테고리의 다른 글
99클럽 코테 스터디 4일차 TIL - set (0) | 2024.04.07 |
---|---|
99클럽 코테 스터디 3일차 TIL (0) | 2024.04.02 |
99클럽 코테 스터디 1일차 TIL - permutations (0) | 2024.03.31 |
[이코테] 구현 기출문제 - 9. 문자열 압축 (0) | 2024.02.02 |