❓ 두 배열 합치기 : Two Pointers

frenchkebab·2021년 8월 21일
0
post-thumbnail


Solution 풀이

function solution(arr1, arr2) {
  let answer = [];
  let p1 = 0,
    p2 = 0;
  let n = arr1.length;
  let m = arr2.length;
  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));

느낀점

while문 사용이 의외로 익숙치 않은 것 같다.
항상 while(true) 로 놓고 탈출조건으로 break 하는 방식으로 사용했는데,
미천한 내눈에는 해답코드를 보고 정말 깔끔함을 느껴 감탄을 했다....

  • 접근 방법 자체를 해설을 보고 풀었기 때문에 내 풀이는 따로 적지 않았음

이슈 사항

위의 else 에서 arr2[p2++] 에서 ++를 빼먹었더니 또 크롬에서 에러가 났다.
도대체 왜때문인지 모르겠다.

profile
Blockchain Dev Journey

0개의 댓글