프로그래머스 연속 부분 수열 합의 개수 풀이 Kotlin | Level2

문제

주어진 배열의 연속된 부분 수열을 만들고 이들의 중복되지 않는 합의 갯수를 구하는 문제이다.

배열의 자르기 및 Set 이 필요하다.

접근

풀이

fun solution(elements: IntArray): Int {

    val newArr = IntArray(elements.size * 2) { 0 }

    for (i in newArr.indices) {
        newArr[i] = elements[i % elements.size]
    }

    val set = mutableSetOf<Int>()

    for (i in 1..elements.size) {
        for (j in 0..elements.size) {
            set.add(newArr.copyOfRange(j, j+i).sum())
        }
    }

    return set.size
}

결론



Related Posts