알고리즘 공부/프로그래머스

(Java)프로그래머스 코딩테스트 연습 - 연습문제 - 숫자의 표현

HRuler 2020. 11. 22. 19:46

1. 문제

https://programmers.co.kr/learn/courses/30/lessons/12924?language=java

 

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

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

programmers.co.kr

2. 나의 풀이

class Solution {
    public int solution(int n) {
        int answer = 0;
        for(int i = 1; i <= n; i = i + 1) {
        	int imsi = 0;
        	for(int j = i; j <= n; j = j + 1) {
        		imsi += j;
        		if(n < imsi) {
        			break;
        		}
        		if(imsi == n) {
        			answer++;
        			break;
        		}
        	}
        }
        return answer;
    }
}

3. 다른 사람 풀이

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));
    }
}