한수 개수 구하기

2022. 2. 10. 18:53에러&&공부노트

글쓴 개요 : 백준코드 문제풀이 중 한수 개수를 출력하는 문제에 대해 설명을 하고자 작성했습니다.

 

한수 란

어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다.

등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다.

 

문제)

첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다.

첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다.

 

풀이)

1. 주어진 문제를 봤을 때 1~99 까지도 한수로 정의되어있다.

2, 주어진 입력 값이 1000까지 이므로 100의 자리에서 까지만 판별을 해주면 된다.

const fs = require('fs');
const input = Number(fs.readFileSync(0).toString());

const fn_result = (input) => {
  let result = 0;
  let i = 1;
  do {
    if (i < 100) {
      result++;
    } else {
      let _string = String(i);
      const prev = Number([..._string][1]) - Number([..._string][0]);
      const next = Number([..._string][2]) - Number([..._string][1]);
      prev === next && result++;
    }
    i++;
  } while (i <= input);
  console.log(result);
};
fn_result(input);

'에러&&공부노트' 카테고리의 다른 글

백준 1152번 풀이 node  (0) 2022.02.11
백준 1157 풀이 node  (0) 2022.02.11
백준 10809번 문제풀이(node)  (0) 2022.02.11
셀프 넘버 구하기  (0) 2022.02.10
CORS 에러  (0) 2022.02.07