[JS][백준]2231_분해합
Algorithm/BaeKJoon

[JS][백준]2231_분해합

문제 번호

 

2231번: 분해합

어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이

www.acmicpc.net

 

 

알고리즘 분류

브루트포스

 

문제 풀이

const fs = require('fs');
const input = fs.readFileSync('2331_분해합/input.txt').toString().split('\n');

const N = Number(input.shift());
let answer = 0;
answer = solution();
console.log(answer);

function solution() {

  for (let i = 1; i <= N; i++) {
    let sum = 0;
    let num = i;
    
    sum += parseInt(num);
    while (num != 0) {
      sum += parseInt(num % 10);
      num = parseInt(num / 10);
    }

    if (sum === N)
      return i;
  }

  return 0;
}

특이사항

 자바스크립트에서는 함수의 리턴값을 정의하지 않으면 undefined 가 리턴된다. 

VScode에서 fs 모듈의 readFileSync의 경로가 제대로 작동하지 않을때 작명규칙에 따라서 경로에 있는 파일들의 이름을 수정해본뒤 한번 실행하고 다시 원상태로 실행하면 정상적으로 작동한다.(정확한 이유는 모르겠다.)

 

'Algorithm > BaeKJoon' 카테고리의 다른 글

[JS][백준]1018_체스판 다시 칠하기  (0) 2021.08.19
[JS][백준]7568_덩치  (0) 2021.08.18
[JS][백준]2798_블랙잭  (0) 2021.08.18
[JS][백준]2941_크로아티아 알파벳  (0) 2021.08.10
[JS][백준]2908_상수  (0) 2021.08.05