반응형

 

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

 

 

 

 

** Python

 

def solution(n):
    answer = 0
    for i in range(1, n + 1):
        _sum = 0
        for j in range(i, n + 1):
            _sum += j
            if _sum == n:
                answer += 1
                break
            elif _sum > n:
                break
    return answer

 

 

가장 많은 추천을 받은 풀이

 

def solution(n):
    return len([i  for i in range(1,n+1,2) if n % i is 0])

 

근데 반례도 있다고 댓글이 시끌시끌하다.

 

 

 

** Java

 

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

 

반응형

+ Recent posts