Kotlin/코딩테스트
[프로그래머스] 연속 부분 수열 합의 개수 - kotlin
깨노비
2023. 4. 13. 00:19
728x90
반응형
철호는 수열을 가지고 놀기 좋아합니다. 어느 날 철호는 어떤 자연수로 이루어진 원형 수열의 연속하는 부분 수열의 합으로 만들 수 있는 수가 모두 몇 가지인지 알아보고 싶어졌습니다. 원형 수열이란 일반적인 수열에서 처음과 끝이 연결된 형태의 수열을 말합니다. 예를 들어 수열 [7, 9, 1, 1, 4] 로 원형 수열을 만들면 다음과 같습니다.
class Solution {
fun solution(elements: IntArray): Int {
val intSet = elements.toMutableSet()
val intArr = elements.copyOf()
val size = elements.size
for (i in 1 until size) {
for (idx in intArr.indices) {
val nextIdx = (idx + i) % size
intArr[idx] += elements[nextIdx]
intSet.add(intArr[idx])
}
}
val answer = intSet.size
return answer
}
}
728x90
반응형