본문 바로가기
CS (컴퓨터 사이언스)/Algorithm (알고리즘)

[알고리즘] 2. 공통원소구하기

by dreamer10457 2024. 1. 29.
반응형

2. 공통원소구하기 => 투포인터 알고리즘

 

<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(arr1, arr2) {
        let answer = [];

        arr1.sort((a, b) => a - b);
        arr2.sort((a, b) => a - b);

        let p = 0;
        let q = 0;

        while (p < arr1.length && q < arr2.length) {
          if (arr1[p] < arr2[q]) {
            p++;
          } else if (arr1[p] > arr2[q]) {
            q++;
          } else {
            answer.push(arr1[p]);
            p++;
            q++;
          }
        }

        return answer;
      }

      let a = [1, 3, 9, 5, 2];
      let b = [3, 2, 5, 7, 8];
      console.log(solution(a, b));
    </script>
  </body>
</html>
반응형