18870. 좌표 압축
18870번: 좌표 압축
수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다. X1, X2, ..., XN에
www.acmicpc.net
- 풀이
- set() 에서 정렬한 후 나보다 작은 것의 개수는 내 index 값이랑 같다
- list.index(i)의 형태는 시간복잡도 O(N)
- dict[i] → O(1)
n = int(input())
lst = list(map(int, input().split()))
tmp = sorted(set(lst))
result = {}
for i in range(len(tmp)):
result[tmp[i]] = len(tmp[:i])
for l in lst:
print(result[l], end=' ')
'코딩테스트 > BOJ' 카테고리의 다른 글
| [백준] [DP] 11052. 카드 구매하기 (0) | 2024.01.12 |
|---|---|
| [백준] [그리디] 1461. 도서관 (0) | 2024.01.12 |
| [백준][부분합] 2632. 피자판매 (0) | 2024.01.09 |
| [백준][DP] 2156. 포도주 시식 (1) | 2024.01.05 |
| [백준] [그리디] 1080. 행렬 📍 (1) | 2024.01.05 |