프로그래머스(JavaScript)/Lv0

[프로그래머스 : 코딩 기초 트레이닝] Lv0. 홀짝 구분하기(JavaScript)

지미지민 2024. 2. 27. 01:37

 

 💜 문제 설명


정수가 담긴 리스트 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합니다.

 

 💜 코드 및 설명


function solution(num_list) {
    let multiplication = 1;
    let sum_square = 0;
    for(let i of num_list){
        // 모든 원소들의 곱
        multiplication *= i;
        // 모든 원소들의 합
        sum_square += i;
    }
    // 모든 원소들의 합의 제곱
    // Math.pow(sum_square, 2)
    return multiplication> Math.pow(sum_square, 2)? 0 : 1;
}

 

💜 실행 결과


 

 

💜 다른 사람의 예


function solution(num_list) {
    let accMul = 1
    let accSum = 0
    for (const num of num_list) {
        accMul *= num
        accSum += num
    }
    return accMul < accSum ** 2 ? 1 : 0
}