728x90
반응형
문제
convert nested (2-dimensional) array to flatten array! (2차원 배열을 1차원 배열로 전환하세요.)
Examples: flatten([1,2,[3],[4]]); // [1,2,3,4]
나의 코드
function flatten (array){
for(let i = 0 ; i < array.length ; i++){
if(Array.isArray(array[i])){
if(array[i].length===0){
array.splice(i,1);
i--;
}else{
let temp = array[i];
array.splice(i,1);
i--;
for(let j = 0 ; j < temp.length ; j++){
array.push(temp[j]);
}
}
}
}
return array;
}
모델 솔루션
function flatten (array){
return array.reduce(function(acc, curr) {
return acc.concat(curr);
}, []);
}
느낀점(아무말)
사실..저 문제를 풀때부터 왜이렇게 코드가 더러운걸까.. 무언가 잘못되었음을 알고있었지만,
일단 시작한것, 시작한 방식으로 답을 내고싶어서 끝까지 코딩하였다.
하지만.. 무언가 잘못되었음을 깨달았을 때 멈췄어야했다..
반응형
'알고리즘' 카테고리의 다른 글
[JS] 자료구조 - 코드 구현 전체 (0) | 2019.11.27 |
---|---|
복잡도 분석, 시간복잡도 (0) | 2019.11.18 |
[JS] _.shuffle 구현 (0) | 2019.11.17 |
[JS] 알파벳을 숫자로 변환하는법 (0) | 2019.09.30 |
[JS] reduce예제 (0) | 2019.09.29 |