본문 바로가기

Programming/Programmers

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

 

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

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

programmers.co.kr

 

끝까지 다 볼 필요는 없고 반만 보면 된다.

 

def solution(n):
    nums = [i for i in range(0,n+1)]
    answer = 1
    last = n//2 if n%2==0 else n//2+1
    for i in range(1,last+1):
        left, right = i, i+1
        while right <= last+1:
            tmp_sum = sum(nums[left:right])
            if tmp_sum >= n:
                if tmp_sum == n:
                    answer +=1
                break
            else:
                right += 1
    
    return answer