[LeetCode] Find the Difference of Two Arrays

준규·2022년 11월 22일
0

인덱스가 0부터 시작하는 정수 배열 nums1 , nums2 가 주어질 때 다음 조건을 만족하는 answer를 리턴하는문제이다

  1. answer[0] 은 nums2에 있지 않는 nums1의 중복되지 않는 숫자들이다.
  2. answer[1] 은 nums1에 있지 않는 nums2의 중복되지 않는 숫자들이다.

Example을 보자

예시를 보면 answer[0]에는 nums1의 숫자들 중 nums2에 있지 않는 숫자들이고 , answer[1]에는 nums2의 숫자들 중 nums1 에 있지 않는 숫자들임을 알 수 있다.

const findDifference = function (nums1, nums2) {
  const set1 = [...new Set(nums1)];
  const set2 = [...new Set(nums2)];

  const result = [];

  result.push(set1.filter((num) => !set2.includes(num)));
  result.push(set2.filter((num) => !set1.includes(num)));

  return result;
};

먼저 nums1, nums2의 중복요소들을 없애줘야하므로 set을 이용해서 중복을 제거해준 뒤

filter 메소드를 이용해서 nums2에 있지 않는 숫자들을 answer[0] 배열에 넣어주고, nums1에 있지 않는 숫자들을 answer[1] 배열에 넣어준다음 리턴을 해주었다.

submit을 해보니

정답이었다!

profile
안녕하세요 :)

0개의 댓글