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=' ')
'백준' 카테고리의 다른 글
[백준] 14940번: 쉬운 최단거리 (파이썬) (2) | 2024.12.01 |
---|---|
[백준] 9237번: 이장님 초대 (파이썬) (2) | 2024.11.30 |
[백준] 11724번: 연결 요소의 개수 (파이썬) (0) | 2024.11.29 |
[백준] 11659번: 구간 합 구하기 4(파이썬) (1) | 2024.11.23 |
[백준] 16506번: CPU(파이썬) (1) | 2024.11.22 |