💡 생각
문제 읽으면서 흐름대로 코드를 짜보면
def solution(n):
answer = 0
for j in range(1, n+1):
_sum = 0
for i in range(j, n+1):
_sum += i
if _sum == n:
answer += 1
return answer
디져버린 효율성 테스트.. 어떻게 하면 시간복잡도를 줄일 수 있을까
반복문을 한 번만 써야대나
엥 걍 누적합이 n보다 커지면 break
해주면 댐
📖 내 코드
def solution(n):
answer = 0
for j in range(1, n+1):
_sum = 0
for i in range(j, n+1):
_sum += i
if _sum == n:
answer += 1
break
elif _sum > n:
break
return answer
📑 다른 사람의 풀이
def expressions(num):
answer = 0
for i in range(1, num + 1):
s = 0
while s < num:
s += i
i += 1
if s == num:
answer += 1
return answer
비슷비슷한듯??
'Coding Test Practice' 카테고리의 다른 글
이진 변환 반복하기 (0) | 2024.04.08 |
---|---|
올바른 괄호 (1) | 2024.04.08 |
피보나치 수 (0) | 2024.04.08 |
다음 큰 숫자 (0) | 2024.04.08 |
카펫 (0) | 2024.04.04 |