[백준] 더하기 사이클 #1110
후기
문제 조건대로만 풀면 되는 문제.
그나마 아이디어로는 cache를 set 자료구조로 둬서 이미 존재했던 수인지를 판단하기.
이미 존재한 경우 루프를 빠져나오고 cache의 사이즈를 리턴하면 정답을 얻을 수 있다.
Node.js 풀이
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim();
const solution = (N) => {
const cache = new Set();
cache.add(Number(N));
const makeNewNumber = (n) => {
if (n.length < 2) n = '0' + n;
return `${n[1]}${(Number(n[0]) + Number(n[1])) % 10}`;
};
let newNumber = makeNewNumber(N);
while (!cache.has(Number(newNumber))) {
cache.add(Number(newNumber));
newNumber = makeNewNumber(newNumber);
}
return cache.size;
};
console.log(solution(input));
Author And Source
이 문제에 관하여([백준] 더하기 사이클 #1110), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ahu8867/백준-더하기-사이클-1110저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)