(단순 반복문) 배열을 입력받아 그 이전의 요소들의 합보다 큰지 여부 확인

cptkuk91·2022년 8월 11일
1

Algorithm

목록 보기
57/161

문제

수를 요소로 갖는 배열을 입력받아 각 요소들이 그 이전의 요소들의 합보다 큰지 여부를 리턴해야 합니다.

출력

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]를 진행하면서 비교해주면 됩니다.

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글