T.I.L May 30, 2023 (프로그래머스 Lv.2 숫자의 표현 - 파이썬)

2023. 5. 30. 22:37T.I.L (Today_I_Learned)

접근


'''
접근

1. for문으로 1부터 (n+1)까지 숫자를 조회 

2. 각 인덱스 자리의 숫자부터 시작되는 합을 구하게끔 한 번 더 for문을 사용

3. 합이 n과 같다면 answer에 +1

4. 합이 n보다 크다면 조건에 어긋남 => break

5. 예) 
    i == 1 => j = 1 + 2 + 3 + 4 + 5 => ok => answer += 1 => break
    i == 2 => j = 2 + 3 + 4 + 5 + 6 => no => break
    i == 3 => j = 3 + 4 + 5 + 6 => no => break
    i == 4 => j = 4 + 5 + 6 => ok => answer += 1 => break
                            .
                            .
                            .
'''

 

풀이


def solution(n):
    answer = 0

    for i in range(1, n+1):
        sum = 0
        for j in range(i, n+1):
            sum += j
            if sum == n:
                answer += 1
            elif sum > n:
                break

    return answer