[프로그래머스 Lv.2] 숫자의 표현

shin·2022년 11월 23일
0

CodingTest 문제 풀이

목록 보기
66/79

[프로그래머스 Lv.2] 숫자의 표현

  • Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다.

    1 + 2 + 3 + 4 + 5 = 15
    4 + 5 + 6 = 15
    7 + 8 = 15
    15 = 15

  • 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요.

def solution(n):
    answer = 0
    index = 1
    while n > 0: # n이 0보다 크거나 같을 때까지 반복
        if n % index == 0: # n이 index로 나누어지면
            answer += 1 # 표현 방법 수 카운트 증가
        n -= index # index만큼 n 감소
        index += 1 # index 증가
    return answer
  • 효율성을 높이는 풀이법을 찾는 것이 중요한 문제

  • 15 % 1 == 0 -> 15 = 15

  • (15 - 1) % 2 == 0 -> 7 + 8 = 15

  • (15 - 1 - 2) % 3 == 0 -> 4 + 5 + 6 = 15

  • (15 - 1 - 2 - 3) % 4 != 0

  • (15 - 1 - 2 - 3 - 4) % 5 == 0 -> 1 + 2 + 3 + 4 + 5 = 15

profile
Backend development

0개의 댓글