=================== 해답 =========================
package com.codestates.coplit;
import java.util.*;
public class Solution {
public boolean superIncreasing(int[] arr) {
/*
arr 입력받아 arr[i] > arr[0] ~ arr[i-1]
<풀이>
arr[i]의 값을 비교가능하게 만들어야한다.
arr[i] == sum false
arr[i] > sum true
arr[i] < sum false
한번이라도 false라면 즉시 false를 리턴하고,
true의 경우는 arr[arr.length-1]까지 true여야지만 true이므로
끝까지 계산을 한 다음 result를 리턴해야한다.
*/
int sum = 0;
boolean result = true;
for (int i = 1; i < arr.length; i++) {
sum += arr[i-1];
if (arr[i] > sum) {
result = true;
}
else if (arr[i] <= sum) {
result = false;
return result;
}
}
return result;
}
}
'알고리즘 문제 풀이' 카테고리의 다른 글
Q16. IsoGram // 이중포문의 몰랐던 점 깨달음!! (0) | 2022.12.08 |
---|---|
Q15. modulo // 성공 // int 타입 or long 타입 (0) | 2022.12.08 |
Q10. 연속된 홀수 사이 "-" 추가하기. // update 완료 (0) | 2022.12.01 |
Q9. ABcheck // for문에서 중복되는 조건이 있을 경우 주의사항 ** (0) | 2022.11.29 |
<알고리즘 Q3 - 구현> 보드 게임 // equals() vs == (0) | 2022.11.28 |