List 중복 원소 제거

Nitroblue 1·2025년 8월 23일

코딩 스킬들

목록 보기
5/17

points = list(set(points))

되게 간단.. 꼭 기억하자.

리스트 중복 제거를 안하고 할 경우 116ms 소요.
중복 제거에 소요되는 시간보다 O(n^2)의 n 값 자체를 대폭 줄이는 게 훨씬 효율적이라는 의미.

사이즈 n인 list 형태의 자료가 주어졌을 때,
1. 이를 set에 넣을 경우 평균 n번의 해시 삽입이 이루어지므로 O(n)
2. 다시 list로 바꾸는 데 유니크 원소 m개에 대해 O(m), 최대 O(n)

따라서 합치면 O(n)이다.

O(n)을 투자하여 뒤의 O(n^2)을 O(m^2)으로 줄이는 게 훨씬 이득인 이유가 있었다.

ex) O(n^2), O(n + m^2)
-> n = 5, m = 3 ... 25 vs 14
매우 드라마틱하게 줄어든다!

0개의 댓글