[프로그래머스] 숫자의 표현Lv.2

나의 풀이

def solution(n):
    answer = 1
    limit = n // 2 + 1
    for i in range(1, limit):
        _sum, num = 0, i
        while _sum <= n:
            _sum += num
            num += 1
            if _sum == n:
                answer += 1
                break

    return answer
  • n 의 절반을 초과하는 숫자를 이어서 더하면 n을 초과해 버리기 때문에 연산을 줄이기 위해 limit을 설정해 주었다.
  • _sum 변수를 두어서 덧셈의 결과를 저장. _sum이 n보다 작거나 같을 때까지 이어지는 숫자들을 더해준다. _sum 이 n과 같다면 answer에 1을 더해주고 while문 종료

0개의 댓글