> 기초/코테 연습
TIL-2024.08.14-programmers-lv2-87390.n^2 배열 자르기
Janku
2024. 8. 14. 23:49

URL:
https://school.programmers.co.kr/learn/courses/30/lessons/87390?language=javascript
CODE:
// URL > https://school.programmers.co.kr/learn/courses/30/lessons/87390
const solution = (n, left, right) => {
// 방안 1. 2차원 배열에서 전체 값 찾기 > 시간초과
// const resultArr = Array.from({ length: n }, () => Array(n).fill(-1));
//
// for (let i = 0; i < n; i++) {
// for (let j = 0; j < n; j++) {
// resultArr[j][i] = i >= j ? i + 1 : j + 1;
// }
// }
// return resultArr.flat().slice(left, right+1);
// 방안 2. 1차원 배열에서 해당되는 값만 찾기 > 성공
let result = [];
for (let i = left; i <= right; i++) {
// Find the row (i / n) and column (i % n) from the index
let row = Math.floor(i / n);
let col = i % n;
result.push(Math.max(row, col) + 1);
}
return result;
};
console.log("result:: ", solution(3, 2, 5)); // [3,2,2,3]
// console.log("result:: ", solution(4, 7, 14)); // [4,3,3,3,4,4,4,4]