728x90
[Swift] 프로그래머스 햄버거 만들기(lv. 1)
1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/133502
2. 접근
무엇인가 쌓여가는 모습이기 때문에 스택을 활용하여 푸는 방법을 택했다.
스택에 4개 이상의 원소가 들어왔을 때, 순서대로 1, 2, 3, 1 인지를 보고, 만약 맞다면, 그 순서를 제외한 스택만을 남겨놓고 answer에 누적합을 더하게 된다. 모든 반복을 거치면 답변이 구해져 있을 것이다.
3. 코드
import Foundation
func solution(_ ingredient: [Int]) -> Int {
var stack: [Int] = []
var answer = 0
for i in ingredient {
stack.append(i)
if stack.count < 4 { continue }
let n = stack.count
if Array(stack[n - 4 ..< n]) == [1, 2, 3, 1] {
stack = Array(stack[0 ..< n - 4])
answer += 1
}
}
return answer
}
728x90
'Problem Solving' 카테고리의 다른 글
[Swift] 프로그래머스 최솟값 만들기(lv. 2) (0) | 2023.02.28 |
---|---|
[Swift] 프로그래머스 JadenCase 문자열 만들기(lv. 2) (2) | 2023.02.27 |
[Swift] 프로그래머스 개인정보 수집 유효기간(lv. 1) (0) | 2023.02.24 |
[Swift] 프로그래머스 신고 결과 받기(lv. 1) (0) | 2023.02.23 |
[Swift] 프로그래머스 성격 유형 검사하기(lv. 1) (0) | 2023.02.21 |
댓글