전공/백준
18870
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의 순서가 뒤죽박죽으로 저장된다
참고 사이트
-