두 배열 합치기

WooBuntu·2021년 2월 22일
0

JS 90제

목록 보기
16/33
  • 강의 듣기 전 풀이
const solution = (former, latter) =>
  [...former, ...latter].sort((a, b) => a - b);
// sort는 시간 복잡도가 O(n*log(n)) 

const result = solution([1, 3, 5], [2, 3, 6, 7, 9]);
console.log(result);
  • 강의 반영한 풀이
const solution = (former, latter) => {
  former.sort((a, b) => a - b);
  latter.sort((a, b) => a - b);
  const result = [];
  while (former.length && latter.length) {
    former[0] > latter[0]
      ? result.push(latter.shift())
      : result.push(former.shift());
  }
  if (former.length) result.push(...former);
  if (latter.length) result.push(...latter);
  return result;
};
// 시간 복잡도는 O(n)

const result = solution([1, 3, 5], [2, 3, 6, 7, 9]);
console.log(result);

0개의 댓글