문제
해결 과정
- 빠르게 풀고 싶은 마음에 그냥 막 써내려가니 효율성이 빵점이었다.
- 간단하게 생각하자 간단하게!!
- 1부터 1개씩 더하다가
n
이랑 같으면 break
아니면 n
보다 커지면 break
- ex) 1, 1+2 ,..., 1+2+3+4+5, 2, 2+3
시행착오
- 정확성 100점 효율성 0점 ➡️ 굳이 리스트로 만든 것, sum이 문제
def solution(n):
answer = 0
array = list(range(1,n+1))
for i in range(n+1):
for j in range(n+1):
if sum(array[i:j]) == n:
answer += 1
return answer
풀이
def solution(n):
answer = 0
for i in range(1,n+1):
total = 0
for j in range(i, n+1):
total += j
if total == n:
answer += 1
break
elif total > n:
break
return answer