강의로 돌아가기
김진영

범위에 따라 테케 3번이 런타임이 날때가 있고 정답이 될떄가 있습니다 (정답 주의, Swift)

주석된 부분으로 대체하면 테케 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
}
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.