백준
[백준] 18870번: 좌표 압축 (파이썬)
초코바나나쉐이크
2024. 11. 30. 01:28
https://www.acmicpc.net/problem/18870
x좌표상에서 여러 좌표들을 입력받고, 해당 좌표보다 작은 좌표들을 차례대로 출력하면 되는 문제였다.
arr에 좌표들을 입력받고, 얕은 복사를 한 후 set으로 변환 후 다시 정렬된 리스트로 sorted_arr에 저장한다.
이후 딕셔너리를 이용하여 sorted_arr의 값들을 저장하고, arr의 값들을 하나씩 불러와서 해당 값보다 작은 값이 몇 개인지 출력한다.
num = int(input())
arr = list(map(int,input().split()))
sorted_arr = arr[:]
sorted_arr = set(sorted_arr)
sorted_arr = sorted(sorted_arr) #중복 제거
dic = {}
for i in range(len(sorted_arr)):
dic[str(sorted_arr[i])] = i
for el in arr:
print(dic[str(el)], end=' ')