Coding Test/프로그래머스[JAVA]

[프로그래머스 Lv0.] 181929번 원소들의 곱과 합 (JAVA)

woojin._. 2024. 10. 2. 09:53

문제 설명

정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요.


제한사항

  • 2 ≤ num_list의 길이 ≤ 10
  • 1 ≤ num_list의 원소 ≤ 9

입출력 예

num_list  result
[3, 4, 5, 2, 1] 1
[5, 7, 8, 3] 0

풀이

  • 첫 번째 방법
class Solution {
    public int solution(int[] num_list) {
        int sum = 0;
        int all = 1;
        
        for(int i : num_list) {
            all *= i;
            sum += i;
        }

        return all < (sum * sum) ? 1 : 0;
    }
}
  • 두 번째 방법
import java.util.*;

class Solution {
    public int solution(int[] num_list) {
    
        return (Arrays.stream(num_list).reduce((acc, i) -> acc * i).getAsInt() < Math.pow(Arrays.stream(num_list).sum(), 2)) ? 1 : 0;
    }
}