두 배열 합치기


문제 설명

오름차순으로 정렬이 된 두 배열이 주어지면 두 배열을 오름차순으로 합쳐 출력하는 프로그램
을 작성하세요.


출력

▣ 출력설명
오름차순으로 정렬된 배열을 출력합니다.

▣ 입력예제 1
3
1 3 5
5
2 3 6 7 9

▣ 출력예제 1
1 2 3 3 5 6 7 9


문제 풀이

//두 배열 합치기
// twopointers 알고리즘
function solution(arr1, arr2) {
    let answer = [];
    let n = arr1.length;
    let m = arr2.length;
    let p1 = p2 = 0;
    while (p1 < n && p2 < m) {
        if (arr1[p1] <= arr2[p2]) 
            answer.push(arr1[p1++]);
        else 
            answer.push(arr2[p2++]);
        }
    while (p1 < n) 
        answer.push(arr1[p1++]);
    while (p2 < m) 
        answer.push(arr2[p2++]);
    return answer;
}

let a = [1, 3, 5];
let b = [2, 3, 6, 7, 9];
console.log(solution(a, b));


profile
개발 옆차기

0개의 댓글