정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다.
정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어진 1차원 배열을 return 하도록 solution 함수를 완성해주세요.
n | left | right |
---|---|---|
3 | 2 | 5 |
4 | 7 | 14 |
다음 애니메이션은 주어진 과정대로 1차원 배열을 만드는 과정을 나타낸 것입니다.
다음 애니메이션은 주어진 과정대로 1차원 배열을 만드는 과정을 나타낸 것입니다.
const solution = (n, left, right) => {
let answer = [];
for(let a = 0; a < n * n; a++){
if(n <= a){
if(answer[a % n] >= answer[Math.floor(a / n)]){
answer[a] = answer[a % n];
}else{
answer[a] = answer[Math.floor(a / n)]
}
}else{
answer[a] = a + 1;
}
}
return answer.slice(left, right +1);
};
const solution = (n, left, right) => {
let answer = [];
for (let a = left; a <= right; a++) {
answer.push(Math.max(Number.parseInt(a / n), a % n) + 1);
}
return answer;
};
처음부터 반복문으로
1,2,3,4 ...
이런식으로 하다가 계속 런타임 에러 떠서 계속 고민하다가 다른분이 힌트 쓰신거 보고 알았습니다.