JavsScript 백준 1065번 한수
🔥 1065번 한수
const input = require('fs').readFileSync('/dev/stdin').toString();
const Hansu = (n) => {
if (n < 100) {
return true;
}
const s = String(n);
return (+s[0] - +s[1] === +s[1] = +s[2]);
}
const N = Number(input);
let result = 0;
for (let i = 1; i <= N; i++) {
if (Hansu(i)) {
result++;
}
}
console.log(result);
🧵 풀이
화살표 함수를 사용해서 Hansu(n)을 생성한다. 이 때 자연수 n이 99 이하일 경우에는
모두 각 자리가 등차수열을 이루는 한수라고 할 수 있다.
그렇기에 n 이 100미만인 경우에는 true를 return 받는다.
100이상인 경우 (3자리 숫자)에는 idex값을 찾을 수 있는 String으로
n을 감싼 s 를 만들어주고 1번째자리 - 2번째자리의 값과 2번째 자리 - 1번째 자리의 값이
동일하다면 true를 return해준다.
Hansu(n)함수를 완성하고 다시 밑으로 내려가 result값을 0으로 지정해주고
for 문을 이용하여 Hansu(i)를 실행해준다 이때 return받은 값이 true라면
result에 +1 을 해준다.
✨n이 99이하 일 경우에는 모두 한수라는 점과 3자리수 일 경우에 1번자리와 - 2번자리의 값과
2번자리 - 3번자리의 값이 동일한 경우에는 한수라는 것을 생각하여 푼 방식이다..
틀린부분이나 부족한 부분이 있다면 말씀해주십쇼😮
Author And Source
이 문제에 관하여(JavsScript 백준 1065번 한수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gkswn45/백준-JavsScript-1065번-한수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)