치춘짱베리굿나이스
[백준] 11728 본문
배열 합치기
문제
정렬되어있는 두 배열 A와 B가 주어진다. 두 배열을 합친 다음 정렬해서 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000)
둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거나 같은 정수이다.
출력
첫째 줄에 두 배열을 합친 후 정렬한 결과를 출력한다.
풀이
const arraySort = (arrA, arrB, sizeA, sizeB) => {
let arr = [];
let i = 0;
let j = 0;
while (i < sizeA || j < sizeB) {
if (i === sizeA) arr.push(arrB[j++]);
else if (j === sizeB) arr.push(arrA[i++]);
else if (arrA[i] < arrB[j]) arr.push(arrA[i++]);
else arr.push(arrB[j++]);
}
return arr;
};
const array = () => {
let input = require("fs")
.readFileSync("/dev/stdin")
.toString()
.trim()
.split("\\n")
.map((n) => n.split(" ").map(Number));
console.log(
arraySort(input[1], input[2], input[0][0], input[0][1]).join(" ")
);
};
array();
반성회
인덱스 2개 잡고 둘 다 범위를 벗어날 때까지 값을 비교했다
'Javascript + Typescript > 자바스크립트로 알고리즘풀기' 카테고리의 다른 글
[백준] 2630 (0) | 2022.03.17 |
---|---|
[백준] 1340 (0) | 2022.03.17 |
[백준] 5338 (0) | 2022.03.17 |
[백준] 1074 (0) | 2022.03.17 |
[백준] 1629 (0) | 2022.03.17 |
Comments