JAVA_LeetCode 306_Additive Number 풀이 class Solution { public boolean isAdditiveNumber(String num) { // 첫 숫자 길이 i, 두 번째 숫자 길이 j 범위 제한, 최대 절반까지만 고려 int len = num.length(); for(int i = 1; i <= len / 2; i++){ if(num.charAt(0) == '0' && i > 1) break; for(int j = 1; Math.max(i, j) <= len - i - j; j++){ if(num.charAt(i) == '0' && j > 1) break; if(isValid(num, i, j)) return true; } } return false; } // 백트래킹 함수, 인덱스와 두 숫자의 길이 정보로 탐색 private boolean isValid(String num, int i, int j) { String first = num.s...