관리 메뉴

나만을 위한 블로그

[Algorithm] 프로그래머스 - n보다 커질 때까지 더하기 (Kotlin) 본문

알고리즘 문제 풀이/프로그래머스

[Algorithm] 프로그래머스 - n보다 커질 때까지 더하기 (Kotlin)

참깨빵위에참깨빵_ 2024. 5. 16. 02:08
728x90
반응형
정수 배열 numbers, 정수 n이 매개변수로 주어진다. numbers의 원소를 앞부터 하나씩 더하다가 그 합이 n보다 커지는 순간 이 때까지 더했던 원소들의 합을 리턴하는 함수를 작성하라

 

 

forEach로 numbers를 순회하며 n보다 작으면 리턴할 result 변수에 차례로 값을 더하고, n보다 크면 즉시 리턴시켜서 result 변수를 리턴시키면 통과된다.

 

class Solution {
    fun solution(numbers: IntArray, n: Int): Int {
        var result = 0
        numbers.forEach {
            if (result > n) return@forEach
            result += it
        }

        return result
    }
}

 

또는 fold 함수를 써서도 동일한 로직을 구현할 수 있다.

 

class Solution {
    fun solution(numbers: IntArray, n: Int) =
        numbers.fold(0) { acc, i -> if (n >= acc) acc + i else acc }
}

 

반응형
Comments