알고리즘 고득점 Kit > 연습문제 > 숫자의 현
숫자의 표현 Lv.2
Finn은 요즘 수학공부에 빠져 있습니다.
수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다.
예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다.
1 + 2 + 3 + 4 + 5 = 15
4 + 5 + 6 = 15
7 + 8 = 15
15 = 15
자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요.
첫 번째 풀이 : 100점
def solution(n):
answer = 0
cnt = 0
lst = []
for i in range(n//2+1):
cnt+=i
if cnt < n:
lst.append(cnt)
else:
break
#print(lst)
for j in range(len(lst)):
if ((n - lst[j]) % (j+1)) == 0:
answer+=1
return answer
- dp로 풀었는데
- n = n
- 2n + 1
- 3n + 3
- ...
- 의 방식을 식으로 풀었음
'코딩테스트 | python > 프로그래머스' 카테고리의 다른 글
| [프로그래머스 | python] [1차] 캐시 (0) | 2024.05.28 |
|---|---|
| [프로그래머스 | python] 타겟 넘버 (0) | 2024.05.10 |
| [프로그래머스 | python] 주차 요금 계산 (0) | 2024.05.07 |
| [프로그래머스 | python] 택배상자 (0) | 2024.04.29 |
| [프로그래머스 | python] 디펜스 게임 (0) | 2024.04.16 |