세용용용용 2024. 11. 11. 21:49

18870번: 좌표 압축

 

나의 풀이

import sys
input = sys.stdin.readline

n_ct = int(input())
n_list = list(map(int, input().rstrip().split()))
n_set = set(n_list)
n_set = sorted(n_set)

num_dict = {}
for idx, i in enumerate(n_set):
    num_dict[i] = str(idx)
for i in range(len(n_list)):
    n_list[i] = num_dict[n_list[i]]
    
print(' '.join(n_list))

 

시간 복잡도

n_set = sorted(n_set) : 파이썬 정렬 알고리즘 ( 선형 로그 시간복잡도 )
해당 알고리즘 시간 복잡도 :  선형 로그 시간복잡도 ( O(n log n) )