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

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12924

풀이

완전탐색으로 문제를 풀이했다. idx를 1부터 시작하여 1씩 증가시키며, n을 만드는 전체 경우의 수를 구해주었다.

def solution(n):
    cnt = 0
    idx = 1
    while idx <= n:
        tmp = 0
        for i in range(idx,n+1):
            tmp += i
            if tmp > n: break
            if tmp == n:
                cnt +=1
                break
        idx +=1
    return cnt

후기

처음 구현할 때는 if tmp > n: break 코드가 없었는데, 이를 처리해주지 않으니 효율성 검사에서 시간 초과가 발생했었다. 코드를 깡그리 갈아엎을 뻔 했다 ㅎ.