JavaScript로 Set(집합), 관련 함수(합집합, 교집합, 차집합)들 구현하기

JavaScript ES6+ Set class, Array Methods

Jun
2 min readJul 4, 2020

Set 자료구조

Set(집합) 자료구조란, 값들의 집합을 이야기한다. 우리가 수학 시간에 배웠던 그 집합이라고 보면된다. 집합 자료구조의 가장 큰 특징은 하나의 값은 Set(집합) 안에 오로지 한 개만 존재한다 이다.

즉, 하나의 값들이 한 번만 나오는다는 특징(unique)은 Set의 성질이다. JavaScript 에서는 Set 클래스가 내장되어 있다. 잘 사용하기만 하면 끝.

심지어 python 에서는 set 클래스에 대해 합집합, 교집합, 차집합을 너무나 쉽게 구할 수 있다. 정리 및 비교를 위해 잠깐 짚고 넘어가보면, 바로 직관적으로 떠오르는 & (교집합), | (합집합), - (차집합) 을 사용하면 된다.

  • |: 합집합 union
  • &: 교집합 intersect
  • -: 차집합 complement

JavaScript 에서도 위와 같이 고유한 값들의 집합으로 변환시키는 Set클래스가 있지만, python 처럼 집합 연산자를 제공하지는 않는다. 알고리즘 문제를 풀 때 친구는 집합 연산자를 사용해서 쉽게 푸는 모습에 충격을 받고 나도 나만의 집합 메소드를 구현해 봐야겠다고 생각했다.

JavaSciprt ES6+ 에 추가된 다양한 array 메소드들은 정말 코딩을 우아하고 즐겁게 해준다.

구현하기

JavaScript Set 자료구조 사용해서 구현

JavaScript Array로 구현 (Set 자료구조 사용 X)

--

--

No responses yet