숫자의 표현

Whiimsy_dev·2022년 10월 12일
1

programmers

목록 보기
6/13
post-thumbnail

https://school.programmers.co.kr/learn/courses/30/lessons/12924

💡 생각

문제 읽으면서 흐름대로 코드를 짜보면

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

비슷비슷한듯??

0개의 댓글