1. 문제 설명
햄버거 만들기
2. 문제 분석
- 스택을 통해 마지막에서 카운트한 음식의 종류가 햄버거를 만들 수 있는 것인지 체크하자.
inout
을 통해 들어온 정수 배열 자체의 값을 변경했다.
3. 나의 풀이
import Foundation
func solution(_ ingredient:[Int]) -> Int {
var stack = [Int]()
var answer = 0
for food in ingredient {
stack.append(food)
answer += isBurger(stack: &stack)
}
return answer
}
func isBurger( stack: inout [Int]) -> Int {
guard stack.count >= 4 else { return 0 }
let lastIndex = stack.count - 1
if stack[lastIndex] == 1 && stack[lastIndex-1] == 3 && stack[lastIndex-2] == 2 && stack[lastIndex-3] == 1 {
for _ in 0..<4 {
stack.popLast()
}
return 1
} else {
return 0
}
}