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 (14) | 2018.09.30 |
---|---|
Codility #6-Distinct (6) | 2018.09.30 |
배열의 대각선 출력 #2 (2) | 2018.09.27 |
배열의 대각선 출력 (2) | 2018.09.26 |
Codility #11-MaxCounters (0) | 2018.09.18 |