수를 요소로 갖는 배열을 입력받아 각 요소들이 그 이전의 요소들의 합보다 큰지 여부를 리턴해야 합니다.
boolean 타입을 리턴해야 합니다.
arr[i]는 arr[0]부터 arr[i-1]까지의 합보다 커야 합니다.
let output = superIncreasing([1, 3, 6, 13, 54]);
console.log(output); // --> true
output = superIncreasing([1, 3, 5, 9]);
console.log(output); // --> false
function solution(arr){
let result = true;
// 배열의 첫 값을 고정시켜두고 시작한다. (비교의 시작)
let sum = arr[0];
for(let i = 1; i < arr.length; i++){
if(arr[i] <= sum){
return false;
} else {
sum += arr[i];
}
}
return result;
}
단순 반복문을 활용해 쉽게 해결할 수 있는 문제입니다.
arr[0] 부터 arr[i-1]까지의 합이 arr[i]보다 작아야 합니다.
따라서 arr[i] 가 sum 보다 큰 경우 else로 넘어가고, sum += arr[i]를 진행하면서 비교해주면 됩니다.