function zigzag(N) {
let result = Array(N).fill().map((v, i) => Array(N).fill().map((v, i) => 0)); // 0으로 초기화된 2차원 배열

let val;

for (let i = 0; i < N; i++) {
for (let j = 0; j < N; j++) {
/*
i\j 0 1 2 3 4
----------------------
0: 1 2 3 4 5
1: 10 9 8 7 6
2: 11 12 13 14 15
3: 20 19 18 17 16
4: 21 22 23 24 25
*/
if (i % 2 == 0) { // 짝수, 정방향
val = i * N + j + 1;
} else { // 홀수, 역방향
val = (i + 1) * N - j;
}

result[i][j] = val;
}
}
return result;
}


let arr = zigzag(5);
console.log(arr);


'IT General' 카테고리의 다른 글

Codility #6-Triangle  (0) 2018.09.30
Codility #6-Distinct  (0) 2018.09.30
배열의 대각선 출력 #2  (0) 2018.09.27
배열의 대각선 출력  (0) 2018.09.26
Codility #11-MaxCounters  (0) 2018.09.18

+ Recent posts