문제
- 하루에 하나씩 풀고 자야지라는 생각에 무심코 했다가 새벽 6시에 잠 ㅠㅠ
- 배열 인덱스, 순회, JS 이차원 배열 생성 등 다시 봐야할 부분들이 많았다
- 링크
코드
function solution(n) {
let answer = [];
let arr = Array.from(new Array(n), () => new Array(n).fill(0));
let start = [-1,0];
let count = 1;
for(let i = n; i >= 1 ; i-=3){
for(let j = 0; j < i; j++){
arr[++start[0]][start[1]] = count++;
}
for(let j = 0; j < i-1; j++){
arr[start[0]][++start[1]] = count++;
}
for(let j = 0; j < i-2; j++){
arr[--start[0]][--start[1]] = count++;
}
}
return arr.flat(2).filter(e=>e!=0);
}
회고
- Array.from : 유사 배열이나, 반복 가능한 객체를 얕은 복사를 통해 배열 객체로 생성