[프로그래머스] 숫자의 표현 (JS)

hhkim·2023년 7월 29일
0

Algorithm - JavaScript

목록 보기
83/188
post-thumbnail

풀이 과정

  1. n이 0보다 클 동안 반복: while
  2. i를 1부터 시작해서 주어진 수를 나눈 나머지 구하기
    이때 나머지가 0이면 더할 수 있는 자연수가 있다는 뜻이므로 결과 +1
  3. 주어진 수를 i만큼 감소

코드

function solution(n) {
  let result = 0;
  let i = 1;
  while (n > 0) {
    if (n % i === 0) ++result;
    n -= i;
    i += 1;
  }
  return result;
}

🤔

처음엔 단순하게 이중 for문으로 짰는데 하면서도 찝찝하더라니 시간초과가 났다.
다른 방법을 도저히 못 찾겠어서 질문하기에 있는 힌트를 보고 풀었다.
혼자 생각했으면 절대 생각 못했을 듯...

0개의 댓글