1. 문제
https://programmers.co.kr/learn/courses/30/lessons/12924
2. 풀이
- $ \frac{n(n+1)}{2} $ 공식을 이용하여 구간 합을 구하는 함수를 생성한 후에 모든 구간을 조사합니다.
def range_sum(a, b):
return b*(b+1)/2 - (a-1)*(a)/2
def solution(n):
answer = 0
for a in range(1, n + 1):
for b in range(a + 1, n + 1):
r_sum = range_sum(a, b)
if r_sum == n:
print(a,b)
answer += 1
if r_sum >= n:
break
return answer + 1