728x90
반응형
✅문제설명
정수가 담긴 리스트 num_list가 주어질 때, 모든 원소들의 곱이 모든 원소들의 합의 제곱보다 작으면 1을 크면 0을 return하도록 solution 함수를 완성해주세요.
✅입출력 예
💡내가 작성한 코드
function solution(num_list) {
let Sum_multiply = num_list.reduce( (acc, x, idx)=>{
return acc + x} ,0 )
let multiply = num_list.reduce( (acc, x, idx)=> {
return acc*x} ,1 )
if(Sum_multiply*Sum_multiply > multiply ){
return 1
}else{
return 0
}
}
비교적 빠르게 해결할 수 있었던 문제 변수 이름 짓는 게 은근히 오래걸린다.
💡다른 사람들 풀이
하지만 다른 사람들 풀이보면 역시 다르다..
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
}
흠 그래 accMul 과 accSum이란게 있었군!!
원소들을 하나씩 뽑아내는 방법중에 reduce나 map함수 같은 거 말고 아예 조건식에서 const num of num_list 이 코드를 활용할 수도 있었다. of 를 사용해서 원소 하나씩으로 추출할 수 있다는 것 기억하기!
728x90
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
최소 직사각형 - 배열의 최소값과 최대값 구하는 함수 (0) | 2023.11.15 |
---|---|
부족한 금액 계산하기 (0) | 2023.11.13 |
주사위 게임 2 - Math.pow() / 거듭 제곱의 표현 (1) | 2023.11.06 |
등차수열의 특정한 항만 더하기 - reduce() (0) | 2023.11.05 |
코드 처리하기 (1) | 2023.11.03 |