- 1 ≤ N ≤ 1,000,000
- -10^9 ≤ Xi ≤ 10^9
시간 제한 : 2초
인덱스로 접근하면 시간초과가 나기 때문에 딕셔너리로 접근해야합니다.
문제 풀이 전략
1. 리스트 형태의 input을 받은 tmp와, tmp를 set으로 바꾼 new
2. new를 정렬 합니다.
3. answer 은 dict() 형태이고 , new의 인덱스와 값을 딕셔너리 형태로 저장합니다.
4. tmp를 돌면서 answer의 값을 출력합니다.
import sys
input = sys.stdin.readline
n = int(input())
tmp = list(map(int, input().split()))
new = list(set(tmp))
new = sorted(new)
# print(new)
answer = dict()
for i, v in enumerate(new):
answer[v] = i
# print(answer)
for i in tmp:
print(answer[i]