[LeetCode] 2032. Two Out of Three

HyeLin·2023년 4월 26일
0
post-thumbnail

세 개의 정수 배열 num1, nums2 및 num3을 지정하면 세 배열 중 적어도 두 개에 있는 모든 값을 포함하는 고유 배열을 반환. 값은 임의의 순서로 반환 가능.
ex)
Input: nums1 = [1,1,3,2], nums2 = [2,3], nums3 = [3]
Output: [3,2]
Explanation: The values that are present in at least two arrays are:

  • 3, in all three arrays.
  • 2, in nums1 and nums2.

✨ 풀이

  const arr=[...new Set(nums1),...new Set(nums2),...new Set(nums3)]
  const result=[]
  
  for(let i of arr){
	if(
  		(nums1.includes(i) && nums2.includes(i)) ||
 		(nums2.includes(i) && nums3.includes(i)) ||
  		(nums1.includes(i) && nums3.includes(i))
	  ){
  		result.push(i)
	}
  }
  
return [...new Set(result)] 

✨ 해석

  const arr=[...new Set(nums1),...new Set(nums2),...new Set(nums3)]
  • 각 배열을 중복 제거 한 후, spread 연산자로 각 요소를 전개해놓는다. 그리고 새 배열안에 넣기!
  const result=[]
  
  for(let i of arr){
	if(
  		(nums1.includes(i) && nums2.includes(i)) ||
 		(nums2.includes(i) && nums3.includes(i)) ||
  		(nums1.includes(i) && nums3.includes(i))
	  ){
  		result.push(i)
	}
  }
  
return [...new Set(result)] 
  • 그 배열을 반복문 돌리면서, 그 값이 2개 이상의 배열에 포함이 되어 있는지 확인하고 포함이 되어 있다면 새 배열에 넣는다
  • 중복 제거 후 반환해준다
profile
개발자

0개의 댓글