[프로그래머스 LV1] 햄버거 만들기

Junyoung Park·2022년 11월 29일
0

코딩테스트

목록 보기
624/631
post-thumbnail

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
    }
}
profile
JUST DO IT

0개의 댓글