정수가 담긴 리스트 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 numMul = 1;
let numAdd = 0;
for(let i = 0; i < num_list.length; i++){
numMul = numMul * num_list[i]
numAdd = numAdd + num_list[i]
}
numAdd = numAdd ** 2
if(numMul < numAdd){
return 1
}else{
return 0
}
}
function solution(num_list) {
let numMul = 1;
let numAdd = 0;
for(let i in num_list){
numMul *= num_list[i]
numAdd += num_list[i]
}
return numMul < numAdd ** 2 ? 1 : 0
}
numMul *= num_list[i]
는 numMul = numMul * num_list[i]
와 같은 표현이다.numAdd = numAdd ** 2
를 조건문 안에 넣어주었다.같은 코드지만 좀 더 간결성 있게 되었다.
처음은 어떻게든 통과하려고 작성했고
그 이후에는 좀 더 깔끔하게 작성할 수 있는 방법이 있는지 생각하며
작성해 보았다.
삼항 연산자의 경우 간단한 조건문일 때 사용하면 좋지만
조건이 많고 복잡할 때에는 if문을 사용하는게 좋다고 한다.