코딩 테스트

[코드트리] 서로 다른 숫자 = set() 의 사용처 공부

코드트리애호가 2023. 9. 21. 14:04

https://www.codetree.ai/missions/8/problems/distinct-numbers?&utm_source=clipboard&utm_medium=text 

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

먼저 예시를 들어보자. 

 

maps= [ 1,2,3,4,5 ] 

arr = [3,4,5] 

 

만약 arr의요소가 maps안에 들어있나 확인하는 방법은 순서대로

 

for item in arr : 

    if item in maps:

        print('yes') 

이렇게 보면된다. 근데 

maps가 배열이라 요소하나하나를 보며 체크를 하게되는데 이때 시간복잡도가 크게 늘어난다. 

 

그래서 이런 배열 값안에 있는요소를 비교할때 시간복잡도를 극한으로 낮추는 방법으로 set()함수를 사용하면된다. 무려 O(1) 밖에 시간복잡도가 걸리지 않음.

그래서 만약 코테를 풀다가 저런걸 쓴다면, 

 

maps_set=set(maps) 

로 바꿔주고 해보자.