Notice
Recent Posts
Recent Comments
Link
«   2026/08   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Archives
Today
Total
관리 메뉴

undefined

[Programmers] 연속 부분 수열 합의 개수 본문

알고리즘

[Programmers] 연속 부분 수열 합의 개수

un-defined 2023. 9. 12. 01:51

원형 수열의 연속 부분 수열 합으로 만들 수 있는 수의 개수를 구하는 문제이다.

단순하게 구현하는 문제인 듯.

    fun solution(elements: IntArray): Int {
        val origin = elements + elements

        val temp = IntArray(elements.size)
        val caseSet = mutableSetOf<Int>()

        for (i in 0 until elements.size){
            for(j in i until i+elements.size){
                temp[j-i] += origin[j]
            }
            caseSet.addAll(temp.toSet())
        }

        return caseSet.size
    }

 

문제를 풀고 다른사람 풀이를 보는데 slice랑 map을 사용해서 더 간결하게 푼 풀이를 발견했다.

아직 코틀린 문법이 서툰 것 같다. 빨리 익숙해져야지

     fun solution(elements: IntArray): Int {
        val doubling = elements+elements
        val result = HashSet<Int>()
        for (i in 1..elements.size) {
            result.addAll((elements.indices).map {
                doubling.slice(it until it + i).sum()
            })
        }
        return result.size
    }
반응형

'알고리즘' 카테고리의 다른 글

[Programmers] 무인도 여행  (0) 2023.09.11
[알고리즘] NextPermutation  (0) 2023.09.10
Comments