그냥 지나가려고 했는데 생각보다 뭔가 있는 알고리즘 같아서 (??) 정리해보려고 한다.
N = int(input())
X = list(map(int, input().split()))
sortedX = sorted(list(set(X)))
answer = " ".join([str(sortedX.index(x)) for x in X])
print(answer.strip())
N = int(input())
X = list(map(int, input().split()))
sortedX = sorted(list(set(X)))
sortedX_dict = dict()
for i, x in enumerate(sortedX):
sortedX_dict[x] = i
answer = " ".join([str(sortedX_dict[x]) for x in X])
print(answer.strip())
중복제거, 정렬 후에 index()
메소드로 인덱싱을 하려고 했더니 시간초과가 나서 인덱스를 딕셔너리로 저장해 사용해서 시간을 줄였다.