Playground/자바문제집

[프로그래머스] 숫자의 표현

미숫가루설탕많이 2023. 3. 30. 21:16

 

 
class Solution {
    public int solution(int n) {
        int answer = 0; // n을 표현하는 방법의 수
        
        for (int i = 1; i <= n; i++) {
            int sum = 0;    // 자연수의 합
            
            for (int j = i; j <= n; j++) {
                sum += j;
                
                if (sum == n) {
                    answer++;
                    break;
                } else if (sum > n) {
                    break;
                }
            }
        }
        
        return answer;
    }
}

이건 내가 푼 코드이고 아래는 다른 사람이 푼 코드인데 정수론을 이용했다고 한다. 신기..

 

 

public class Expressions {

    public int expressions(int num) {
        int answer = 0;
   for (int i = 1; i <= num; i += 2) 
       if (num % i == 0) 
           answer++;

   return answer;
    }

    public static void main(String args[]) {
        Expressions expressions = new Expressions();
        // 아래는 테스트로 출력해 보기 위한 코드입니다.
        System.out.println(expressions.expressions(15));
    }
}