[프로그래머스/파이썬] Level 2 숫자의 표현

bye9·2021년 4월 21일
0

알고리즘(코테)

목록 보기
120/130

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


문제풀이

예를 들어 n=15일 때
1,2,3,4,5=15
2,3,4,5,6=X
3,4,5,6=X
4,5,6=15
5..=X
6..=X
7,8=15
와 같은 방식으로 반복문을 수행한다.

결과는 n자체 1가지+반복문을 수행한 cnt값이다.

소스코드

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

더 간단한 코드

def expressions(num):
    answer = 0
    for i in range(1, num + 1):
        s = 0
        while s < num:
            s += i
            i += 1
        if s == num:
            answer += 1


    return answer

0개의 댓글