Programming/Algorithm
[백준]2635번 수 이어가기 with Node.js
kort
2023. 2. 1. 18:49
const n = require("fs").readFileSync("testInput.txt").toString().trim();
let max = 0;
let maxArr = new Array();
let prevA,prevB;
for(let i = 1; i <= n; i++) {
//
const arr = new Array();
arr.push(n);
arr.push(i);
prevA = n;
prevB = i;
while(true){
//
let temp = prevA - prevB;
if(temp>=0) {
arr.push(temp);
}else{
break;
};
prevA = prevB;
prevB = temp;
};
if(max < arr.length){
max = arr.length;
maxArr = arr;
};
};
console.log(max);
console.log(maxArr.toString().replace(/,/gi,' '));
초기에 주어진 값과 반복문의 순서 값을 이용하여 이전 값과 그 이전의 값을 비교해가며 진행 한다.
처음에 주어진 값 이외에 가장 큰 수인 두번째 값을 찾기 위하여 반복문을 통하여 해당 회차의 배열 크기를 이전 회차의 배열 크기와 비교해가는데
temp의 값이 0 보다 작은 수가 되면 해당 배열의 크기를 기존의 값과 비교하여 더 크다면 새로이 저장해주는 방식으로 로직을 작성한다.