주석된 부분으로 대체하면 테케 3번이 런타임 오류가 나고
현재 코드 그대로 제출하면 정답입니다.
i...i+3과 i..<i+4는 완전히 동일한것 아닌가요??
왜 다르게 나오는지 잘 모르겠어서 질문합니다.
import Foundation
func solution(_ ingredient:[Int]) -> Int {
let burger: [Int] = [1, 2, 3, 1]
var ingredients = ingredient
var ingredientsCount = ingredients.count
var count: Int = 0
var i: Int = 0
while i <= ingredientsCount - 4 {
let slice = Array(ingredients[i...i+3]) // i..<i+4
if slice == burger {
count += 1
ingredients.removeSubrange(i...i+3) // i..<i+4
ingredientsCount -= 4
i = (i-3 >= 0) ? i-3 : 0
} else {
i += 1
}
}
return count
}