JAVA/Algorithm

[프로그래머스/java] 숫자의 표현 (완전탐색)

nang. 2021. 1. 5. 23:20
반응형
SMALL

https://programmers.co.kr/learn/courses/30/lessons/12924

 

코딩테스트 연습 - 숫자의 표현

Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할

programmers.co.kr

 

 

  • 연속된 자연수의 합이 n이 되는 경우를 찾는 문제
    • '연속된' 이므로 반복문을 돌려 1씩 증가하는 숫자를 더해나가는 방식
    • 1부터 더해나가고 n 자신이 답이 될 수 있으므로 n을 포함하는 범위

 

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        for(int i = 1; i <= n; i++) { // 자연수니까 1부터 더해 나가고 n 하나로도 답이 되므로 n 포함
            int sum = 0;
            
            for(int j = i; j <= n; j++) { // 현재 수 i 부터 그 다음 숫자들을 하나씩 더하다가
                sum += j;
                
                if(sum == n) { // n 이 되면 stop
                    answer++; // result(answer) 1 증가
                    break;
                } else if(sum > n) { // n을 넘어가면 그냥 stop
                    break;
                }
            }
        }
        
        return answer;
    }
}
반응형
LIST