[알고리즘] set 자료 구조

insung·2025년 10월 6일
0

알고리즘

목록 보기
19/20

알고리즘 시험에서 자주 사용하는 Set 자료구조에 대해 정리해보려 한다

1. Set 자료구조란?

  • Set은 중복을 허용하지 않는 데이터 집합이다.
  • 원소의 존재 여부를 빠르게 확인할 수 있어, 중복 제거, 교집합, 합집합, 차집합 등 집합 연산에 매우 유용하다.
// javascript 사용 예시
const set = new Set();

// 원소 추가
set.add(1);
set.add(2);
set.add(2); // 중복 추가 시 무시됨

// 원소 존재 확인
console.log(set.has(1)); // true

// 원소 삭제
set.delete(2);

// 크기 확인
console.log(set.size); // 1

// 모든 원소 순회
for (const item of set) {
  console.log(item);
}
# python 사용 예시

s = set()

# 원소 추가
s.add(1)
s.add(2)
s.add(2)  # 중복 무시

# 원소 존재 확인
print(1 in s)  # True

# 원소 삭제
s.remove(2)

# 크기 확인
print(len(s))  # 1

# 모든 원소 순회
for item in s:
    print(item)

4. 유용한 메서드

5. 시간복잡도

추가(add): O(1)
삭제(delete/remove): O(1)
탐색(has/in): O(1)

이는 내부적으로 해시 테이블을 사용하기 때문이다. 따라서 대량의 데이터에서 중복 제거나 존재 여부 확인을 빠르게 할 수 있다.

마무리
Set 자료구조는 알고리즘 시험에서 중복 처리, 집합 연산, 빠른 탐색이 필요할 때 매우 유용하다. JavaScript와 Python 모두 기본 제공하므로, 문법과 메서드를 익혀두면 실전에서 큰 도움이 된다. 다음에는 Set을 활용한 대표적인 알고리즘 문제 풀이를 다루겠다.

profile
안녕하세요 프론트엔드 관련 포스팅을 주로 하고 있습니다

0개의 댓글