1. 문제
Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다.
1 + 2 + 3 + 4 + 5 = 15
4 + 5 + 6 = 15
7 + 8 = 15
15 = 15
자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요.
제한사항
n은 10,000 이하의 자연수 입니다.
입출력 예
n result
15 4
2. 내가 푼 답 - 시간복잡도 O(n**2)
# 브루트 포스 문제 - 완전 탐색 문제
def solution(n):
answer = 0
for i in range(1, n+1):
sum_n = 0
for j in range(i, n+1):
sum_n += j
if sum_n == n:
answer += 1
elif sum_n > n:
break
return answer
완전 탐색 문제는 항상 새롭다..
너무 알고리즘 적으로 생각하지말자!! 완전 탐색도 같이 고려!
'👩💻 코테 공부 > 코테 공부' 카테고리의 다른 글
| [코테 - py] 백준 11729번 하노이 탑 이동 순서 (0) | 2024.05.18 |
|---|---|
| [코테 - py] 프로그래머스 짝지어 제거하기 (0) | 2024.05.07 |
| [코테 - Kotlin] 백준 15650번 N과 M (2) (0) | 2024.05.02 |
| [코테 - Kotlin] 프로그래머스 의상 (0) | 2024.04.30 |
| [코테 - py] 프로그래머스 의상 (0) | 2024.04.30 |