반응형
1011번 이어 풀기
1 | 1 | 1회 |
2 | 1 1 | 2회 |
3 | 1 1 1 | 3회 |
4 | 1 2 1 | 3회 |
5 | 1 2 1 1 | 4회 |
6 | 1 2 2 1 | 4회 |
7 | 1 2 2 1 1 | 5회 |
8 | 1 2 2 2 1 | 5회 |
9 | 1 2 3 2 1 | 5회 |
10 | 1 2 3 2 1 1 | 6회 |
11 | 1 2 3 2 2 1 | 6회 |
12 | 1 2 3 3 2 1 | 6회 |
13 | 1 2 3 3 2 1 1 | 7회 |
14 | 1 2 3 3 2 2 1 | 7회 |
15 | 1 2 3 3 3 2 1 | 7회 |
16 | 1 2 3 4 3 2 1 | 7회 |
17 | 1 2 3 4 3 2 1 1 | 8회 |
18 | 1 2 3 4 3 2 2 1 | 8회 |
19 | 1 2 3 4 3 3 2 1 | 8회 |
20 | 1 2 3 4 4 3 2 1 | 8회 |
변하는 점 나열 : 1, 2, 3, 5, 7, 10, 13, 17, ...
1. Y - X 구하기
2. 값의 위치 구하기
const fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().split("\n");
// const input = ["3","0 3","0 2097152","45 50"];
let inputArr = [];
for (let i = 1; i < input.length; i++) {
const spl = input[i].split(" ");
const leng = Math.abs(Number(spl[1]) - Number(spl[0]));
inputArr.push(leng);
}
const answer = inputArr.map((n)=>{
let arr = [1];
let x = 1;
const max = 2 ** 31;
let anw = 0;
for (let i = 1; i <= max; i++) {
for (let j = 0; j < 2; j++) {
x = x+i;
arr.push(x);
anw++;
if (arr[arr.length-2] <= n && arr[arr.length-1] > n ) {
return anw;
}
}
}
return anw;
});
console.log(answer.join("\n"));
이렇게 했을 때 메모리 부족/시간초과로 인해 틀렸습니다.
내일 다시 해 봐야 겠습니다
반응형
'개발 > 코딩 테스트 공부' 카테고리의 다른 글
코딩테스트 12일차 (0) | 2024.05.02 |
---|---|
코딩테스트 10일차 (0) | 2024.04.30 |
코딩 테스트 9일차 (0) | 2024.04.27 |
코딩 테스트 8일차 (0) | 2024.04.25 |
코딩 테스트 7일차 (0) | 2024.04.24 |