class Solution { public int solution(int n) { int answer = 0; // 최대 숫자는 2로 나누고 1을 더한 것 까지만 고려하면 될 것 같다. // 어떻게 효율적으로 코딩하지? // brute force는 의미가 없다. // 20 이라고 치자 // 1, 2, 3, 4, 5, 6 까지 봤는데 21로 오버했다. // 2, 3, 4, 5, 6 은 21이다. // 3, 4, 5, 6, 7은 28이다. // 4, 5, 6, 7은 25 // 5, 6, 7은 21 // 6, 7, 8은 29 // 7, 8은 15 // 7, 8, 9는 24 // 8, 9는 17 // 8, 9, 10은 27 // 9, 10은 19 // 2로 나눈 10까지 왔는데 없다.
그러면 자기 자신 20 하나이다. // 22 라고 치자 // 1, 2, 3, 4, 5, 6, 7 까지 봤는데 28로 오버했다. // 2, 3, 4, 5, 6, 7은 27 // 3, 4, 5, 6, 7 은 25...
원문 링크 : 프로그래머스 숫자의 표현 - java