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

kiki·2023년 12월 28일
0

프로그래머스

목록 보기
21/78

문제 링크

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

문제 설명

하나의 수가 주어졌을 때 그 수를 연속된 숫자의 합으로 나타낼 수 있는 경우의 수를 구하라!

1차 시도

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

아무리 예시를 봐도 패턴이 보이질 않아서 떠오르는대로 코드를 작성했다.
for문을 돌면서 그 수부터 연속된 숫자의 합이 주어진 수와 같아지는지 확인하는 코드이다.
이게 완전탐색인가? 그런 것 같다.
아 그리고 답에 자기 자신도 포함되길래 자신은 for문에 포함시키지 않고 반환할 때 1을 증가시켜 반환했다.

0개의 댓글