Written by
최태열
on
on
[Python][프로그래머스][Level2] 숫자의 표현
[Python][프로그래머스][Level2] 숫자의 표현
코드
def solution(n):
cnt=[]
i=1
while sum(cnt)<n:
cnt.append(i)
i+=1
N=cnt[-1]
answer=1
for i in range(N,n):
cnt=0
cp=i
while cnt<n:
cnt+=cp
cp-=1
if cnt==n:
answer+=1
return answer
완전 탐색이지만 좀 고려해줄 부분이 있다.
내가 푼 방식은 숫자 N부터 1씩 줄여가면서 n보다 크거나 같을 때까지 더해준다.
하지만 이것을 N=1부터 하면 시간초과가 난다.
따라서 가장 작은 N은 1 부터 1씩 증가해가며 더 해줬을때, 마지막 값이다.
따라서 N 값을 미리 정해주고 N 부터 n까지 구해준다.
Discussion and feedback