나의 풀이
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) )