관리 메뉴

나만을 위한 블로그

[Algorithm] 프로그래머스 - 원소들의 곱과 합 (Kotlin) 본문

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

[Algorithm] 프로그래머스 - 원소들의 곱과 합 (Kotlin)

참깨빵위에참깨빵_ 2023. 12. 6. 20:40
728x90
반응형
정수 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1, 크면 0을 리턴하는 함수를 완성하라

 

 

이 문제도 조건에 맞춰서 숫자 연산한 다음 0, 1 중 하나를 리턴하면 된다.

reduce 함수를 알고 있다면 금방 풀 수 있다.

 

class Solution {
    fun solution(num_list: IntArray): Int {
        val sum = num_list.sum()
        val multi = num_list.reduce { acc, v -> acc * v }
        return if (sum * sum < multi) 0 else 1
    }
}

 

reduce는 컬렉션 안의 모든 데이터를 모으는 함수다. 첫 번째 요소부터 시작해서 현재 accumulator 값과 각 요소에 왼쪽에서 오른쪽으로 연산을 적용해서 값을 누적하는 일을 한다. 이 함수의 공식문서는 아래 링크를 확인한다.

reduce로 구한 값을 sum에 곱하면 모든 원소들의 합의 제곱을 구할 수 있다.

 

https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/reduce.html

 

reduce - Kotlin Programming Language

 

kotlinlang.org

 

반응형
Comments