프로그래머스 - 숫자의 표현

박상진·2022년 1월 10일
0

프로그래머스

목록 보기
39/65

자세한 설명은 링크 참고

자연수 n을 연속한 자연수들의 합으로 표현할 수 있는 방법의 가짓수를 구하는 문제이다.

연속된 자연수라는 조건을 보지 못하고 많이 헤매었다.
n보다 작은 수부터 차례대로 올라오면서 하나씩 시작해보았다.

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

1부터 시작하지 않으면 0부터 시작하는 경우의 수가 한가지 추가되어서 오답이 나온다.
결과는
효율성이 없다.

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

다른 조건을 추가해서 n을 넘어버리면 멈추게 하였다.
다시 결과는 ㅠㅠ

다행이다..

profile
개발자가 되고싶당

0개의 댓글