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

2023. 1. 19. 16:02기록/Programmers

    목차

문제 링크

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


나의 문제 풀이

function solution(n) {
  let answer = 0;
  let start = 1;

  while (start <= n) {
    let sum = 0;

    for (let i = start; sum <= n; i++) {
      sum += i;
      if (sum === n) answer++;
    }
    start++;
  }
  return answer;
}
  • 더하기를 시작할 숫자인 1을 변수에 할당함
  • 더하기를 시작할 숫자가 n보다 작거나 같을 때까지 반복함
    • 더하기를 시작할 숫자부터 n까지 반복함
      • 합계 변수에 i를 누적함
      • 합계가 n과 같을 경우 정답 변수에 1을 더해줌
    • 더하기를 시작할 숫자 변수에 1을 더해줌

다른 사람의 문제 풀이

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