카테고리 없음

[프로그래머스/javascript] 삼각달팽이

_서리__ 2023. 3. 20. 17:19
function solution(n) {
    let arr = Array.from(Array(n), (_, index) => Array(index + 1).fill(0));
    let lastNum = (n+1)*n/2
    let currentNum = 0;
    let addNum  = n;
    let currentX = 0;
    let currentY = -1;
    while(addNum>0){
        for(let i=0;i<addNum;i++){
            currentNum++;
            currentY++;
            arr[currentY][currentX] = currentNum;
        }
        for(let i=0;i<addNum-1;i++){
            currentNum++;
            currentX++;
            arr[currentY][currentX] = currentNum;
        }
        for(let i=0;i<addNum-2;i++){
            currentNum++;
            currentX--;
            currentY--;
            arr[currentY][currentX] = currentNum;
        }
        addNum-=3
    }
    return arr.flat();
}