728x90
문제: 수를 요소로 갖는 배열을 입력받아 각 요소들이 그 이전의 요소들의 합보다 큰지 여부를 리턴
public class Main {
public static boolean superIncreasing(int[] arr) {
if(arr.length == 0) return false;
int sum = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] <= sum) {
return false;
}
sum = sum + arr[i];
}
return true;
}
}
흐름
- 빈배열일 때는 false를 받음
- sum을 선언하면서 arr[0]이라고 바로 받음
- for문안에 if문을 사용해 arr[i]가 sum보다 작은 경우는 바로 false를 반환
- 하지만 크다면 sum에 arr[i]를 계속 더해줌
- 따라서 for문이 끝나고 나서 true를 받으면 됨
728x90
'Java > 연습문제' 카테고리의 다른 글
[JAVA] 아이소그램(isogram) 알고리즘 (0) | 2022.10.21 |
---|---|
[JAVA] 나눗셈, 나머지 연산자 없이 나머지 구하기 (0) | 2022.10.21 |
[JAVA] 가장 길고 짧은 문자열 제외하기 (0) | 2022.10.21 |
[JAVA] 연속되는 홀수 사이에 '-'넣기 (0) | 2022.10.21 |
[JAVA] 문자열 체크 (0) | 2022.10.21 |
댓글