본문 바로가기
Algorithm

백준 함수 (4673/1065) node.js

by 해-온 2023. 1. 28.

✏️ 문제(4673 / 셀프넘버 / node.js)

 

4673번: 셀프 넘버

셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때,

www.acmicpc.net

📝 해답

const arr = [];
const numberArr = [];

for (let i = 1; i < 10001; i++) {
  numberArr.push(i);
}

for (let i = 1; i < 10001; i++) {
  let n = 0;
  let stringToNumber = String(i);
  for (let j = 0; j < stringToNumber.length; j++) {
    n += Number(stringToNumber[j]);
  }
  let constructor = i + n;
  arr.push(constructor);
}

const subtraction = numberArr.filter((x) => !arr.includes(x));

console.log(subtraction.join('\n'));

✏️ 문제(1065 / 한수 / node.js)

 

1065번: 한수

어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나

www.acmicpc.net

📝 해답

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin');

const N = Number(input);

function solution(N) {
  let hansoo = 0;

  for (let i = 1; i <= N; i++) {
    if (i < 100) hansoo++;
    else {
      const arr = String(i).split('').map(Number);
      if (arr[0] - arr[1] === arr[1] - arr[2]) hansoo++;
    }
  }
  console.log(hansoo);
}

solution(N);

댓글