[코딩테스트] JavaScript/[코테] 프로그래머스

[프로그래머스 / JS 코테] Lv.0 / 181929 : 원소들의 곱과 합

jini-dev 2025. 1. 7. 09:00
SMALL

원소들의 곱과 합(링크)

문제 설명
정수가 담긴 리스트 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
입출력 예 #1
모든 원소의 곱은 120, 합의 제곱은 225이므로 1을 return합니다.
입출력 예 #2
모든 원소의 곱은 840, 합의 제곱은 529이므로 0을 return합니다.

 

문제 풀이

reduce메소드를 사용하여 배열의 모든 원소들의 곱을 구하고 (num_list.reduce((a,c)=>a*c ,1)

모든 원소들의 합의 제곱을 구한다.

모든 원소들의 합 : (num_list.reduce((a,c)=>a+c ,0)

제곱 : (Math.pow(a,2)) (여기서 a는 모든 원소들의 합 이다)

 

 삼항연산자를 이용하여 모든 원소의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 반환한다.

function solution(num_list) {
    return num_list.reduce((a,c)=>a*c,1) < Math.pow(num_list.reduce((a,c)=>a+c,0),2) ? 1 : 0
}
LIST