Knowledge Map
달팽이 본문
달팽이 모양으로 배열을 만들고 그것을 1차원 배열로 반환하는 문제이다.
이것을
[[1,2,3]
,[8,9,4]
,[7,6,5]]
이런식으로 바꾸는 것이다.
[1,2,3,4,5,6,7,8,9]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function snail(array) { if(array.length < 2) return array[0]; var result = []; var check = 0; while(array.length > 0) { switch(check) { case 0: result.push(...array.shift()); break; case 1: for(var i = 0; i < array.length; i++) result.push(array[i].pop()); break; case 2: result.push(...array.pop().reverse()); break; case 3: for(var i = array.length-1; i > -1; i--) result.push(array[i].shift()); break; } check = check > 3 ? 0 : check+1; } return result; } | cs |
'알고리즘' 카테고리의 다른 글
HackerRank - Super Reduced String (0) | 2017.10.23 |
---|---|
HackerRank - Between Two Sets (0) | 2017.10.22 |
2차원 배열의 체크 알고리즘 문제 (0) | 2017.09.13 |
테스트 문제 (1) (2) | 2017.09.06 |
각 자릿수 합 (0) | 2017.09.01 |
Comments