[Algorithm] 두 배열 합치기 (javaScript)

swing·2023년 7월 3일
0

[Algorithm]

목록 보기
58/96

문제

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

입력설명

첫 번째 줄에 첫 번째 배열의 크기 N(1<=N<=100)이 주어집니다. 두 번째 줄에 N개의 배열 원소가 오름차순으로 주어집니다.
세 번째 줄에 두 번째 배열의 크기 M(1<=M<=100)이 주어집니다. 네 번째 줄에 M개의 배열 원소가 오름차순으로 주어집니다.
각 리스트의 원소는 int형 변수의 크기를 넘지 않습니다.

출력설명

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

입출력예제

입력
3
135
5
23679

출력
12335679

문제 해결

const solution = (input) => {
  const arr = input.split("\n");
  const [a, b] = [arr[1].split(""), arr[3].split("")];
  const [n, m] = [arr[0], arr[2]];
  let [p1, p2] = [0, 0];
  const answer = [];

  while (p1 < n && p2 < m) {
    if (a[p1] <= b[p2]) answer.push(a[p1++]);
    else answer.push(b[p2++]);
  }
  while (p1 < n) answer.push(a[p1++]);
  while (p2 < m) answer.push(b[p2++]);

  return answer.join("");
};

const a = solution("3\n135\n5\n23679");

console.log(a); // 12335679
profile
if(기록📝) 성장🌱

0개의 댓글