yha97 2022. 9. 18. 17:09

날짜 : 2022. 09. 18 

사용 언어 : python

 

문제

 

코드

import sys

n = int(sys.stdin.readline())

num = list(map(int, sys.stdin.readline().split()))
num_dict = dict()

temp_set = set(num) # 중복 제거
temp = list(temp_set) # 리스트 변환 (set에서는 인덱싱 불가 -> list 또는 tuple로 변환 필요)
temp.sort() # 정렬

cnt = 0
for i in temp: # 숫자에 따른 value값 설정
    num_dict[i] = cnt
    cnt += 1

for i in range(len(num)):
    print(num_dict[num[i]], end=" ")

 

 

알게된 점

- set 자체로는 인덱싱이 불가능 -> list 또는 tuple로 변환 후 사용해야 한다

- set으로 저장될 때는 내부 list의 순서가 뒤죽박죽으로 저장된다

 

 

 

참고 사이트