두 배열 합치기

minho·2021년 9월 10일
0

나의 풀이

function solution(a, b){
                let answer= "";
                let temp = [];
                while (a.length>0 && b.length>0) {
                    if(a[0] < b[0]) temp.push(a.shift());
                    else if(a[0] > b[0]) temp.push(b.shift());
                    else temp.push(a.shift(),b.shift());                    
                }                
                if(a.length > 0) return temp.concat(a);    
                else if(b.length > 0) return temp.concat(b);                
                else return temp;              
            }            
            let a=[1, 3, 5];
            let b=[2, 3, 6, 7, 9];
            console.log(solution(a, b));

원리

while 문은 두 배열의 수를 temp에 차곡차곡 쌓아준다. 어느 한개의 배열의 길이가 0이 되면 남은 배열을 concat을 이용하여 붙여준다.

concat()을 이용한 간단한 방법

function solution(arr1, arr2){
                let res = a.concat(b);
                let asw = res.sort((a,b) => a-b);
                return asw;
            }            
            let a=[1, 3, 5];
            let b=[2, 3, 6, 7, 9];
            console.log(solution(a, b));

두 배열을 concat을 이용해 붙여준 후 sort()를 이용해 오름차순으로 정렬해 준다.

알게된 점

  • concat()
    concat은 배열과 배열을 붙여줄때 사용한다.
    주의: concat은 원래 배열을 변형시키지 않는다.
profile
Live the way you think

0개의 댓글