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();
}