-
[Programmers] JavaScript 알고리즘 | Lv.0 원소들의 곱과 합► JS Algorithm/Programmers 2023. 10. 10. 12:57반응형
🔒 문제 설명
정수가 담긴 리스트 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합니다.
🔐 solution of mine
** 거듭제곱 (예, 2의제곱, ** 2)
// multiplication: 곱하기 // addition: 더하기 // square: 제곱 // square of 7: 7의 제곱 // accumulator: 축적자 (acc) // currentValue(cur) const solution = (num_list) => { let multiplication = num_list.reduce((acc, cur) => acc * cur, 1); let addition = num_list.reduce((acc, cur) => acc + cur, 0); let square = addition ** 2; let answer = multiplication < square ? 1 : 0; return answer; }; solution([3, 4, 5, 2, 1]); // result: 1 solution([5, 7, 8, 3]); // result: 0
🔐 solution of others
const solution = (num_list) => { let multiplication = num_list.reduce((acc, cur) => acc * cur, 1); let addition = num_list.reduce((acc, cur) => acc + cur, 0); return multiplication < addition ** 2 ? 1 : 0; }; solution([3, 4, 5, 2, 1]); // result: 1 solution([5, 7, 8, 3]); // result: 0
🔐 solution of others
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; }; solution([3, 4, 5, 2, 1]); // result: 1 solution([5, 7, 8, 3]); // result: 0
반응형'► JS Algorithm > Programmers' 카테고리의 다른 글
[Programmers] JavaScript 알고리즘 | Lv.0 공백으로 구분하기 1 (0) 2023.11.21 [Programmers] JavaScript 알고리즘 | Lv.0 rny_string (0) 2023.11.17 [Programmers] JavaScript 알고리즘 | Lv.0 문자열로 변환 (0) 2023.10.06 [Programmers] JavaScript 알고리즘 | Lv.0 세균 증식 (0) 2023.02.20 [Programmers] JavaScript 알고리즘 | Lv.0 제곱수 판별하기 (0) 2023.02.17