https://school.programmers.co.kr/learn/courses/30/lessons/12924
하나의 수가 주어졌을 때 그 수를 연속된 숫자의 합으로 나타낼 수 있는 경우의 수를 구하라!
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을 증가시켜 반환했다.