반시계 방향으로 달팽이 채우기를 진행한 후 1차원 배열로 리턴해주는 문제이다.
이때 반시계 방향으로 돌때 값은 1부터 시작한다.
function solution(n) { let arr = Array(n).fill().map((_,i)=>Array(i+1).fill()) let pos = [[1,0],[0,1],[-1,-1]] let row = -1 let col = 0 let targetValue = 1 for(let i= 0; i<n; i++ ){ let start = 0 let posIndex = i%3 while(start < n-i){ row += pos[posIndex][0] col += pos[posIndex][1] arr[row][col] = targetValue++ start++ } } return arr.flat() }
단순 구현 문제로 쉬운 문제 였지만 패턴을 찾겠다고 시간을 조금 많이 낭비한 것 같습니다.😂