[알고리즘] 교집합, 차집합, 합집합

Hyebin·2021년 8월 13일
0

Data structure / Algorithm

목록 보기
17/19
post-thumbnail

1. 교집합

  • 두 집합이 공통으로 포함하는 원소로 이루어진 집합

A는 [2,3,4,5]이고, B는 [1,3,5,7,9]이라면 둘의 교집합은 [3,5]이다.

코드로 표현하기

const intersection = (arr1,arr2) => {	
  if(arr1.length > arr2.length) {
  	let temp = arr1.slice()
    arr1 = arr2.slice()
    arr2 = temp
  }
  let result = arr1.filter(num => arr2.includes(num))

  return result
}

2. 차집합

  • A 집합에는 속하지만 B 집합에 속하지 않는 원소들로 이루어진 집합

A는 [2,3,4,5]이고, B는 [1,3,5,7,9]이라면 A에 대한 B의 차집합은 [2,4]이다.

코드로 표현하기

const rel_comp = (arr1, arr2) => {
  return arr1.filter(num => !arr2.includes(num))
}

3. 합집합

  • A,B에 속하는 모든 원소로 이루어진 집합

    A는 [2,3,4,5]이고, B는 [1,3,5,7,9]이라면 A,B의 합집합은 [1,2,3,4,5,7,9]이다.

코드로 표현하기

const union = (arr1, arr2) => {
  let result = new Set()
  
  arr1.forEach(num => result.add(num))
  arr2.forEach(num => result.add(num))
  
  return [...result]
}

0개의 댓글