문제
https://www.acmicpc.net/problem/18870
걸린 시간
00 : 45 : 24
풀이
Python3
if __name__ == "__main__":
N = int(input())
X = list(map(int, input().split()))
dic = {}
tmp = []
for i in range(0, N):
tmp.append(X[i])
tmp.sort()
last = tmp[0]
count = 0
for Xi in tmp:
if last < Xi:
last = Xi
count += 1
dic[Xi] = count
for x in X:
print(dic.get(x, -1), end=' ')
특정 값보다 작은 값들의 개수는 오름차순으로 정렬된 상태에서 값이 바뀔 때 마다 세어주면 간단히 구할 수 있다.
'Baekjoon' 카테고리의 다른 글
Baekjoon 11273번 집합 (0) | 2020.08.10 |
---|---|
Baekjoon 7576번 토마토 (0) | 2020.08.10 |
Baekjoon 1074번 Z (0) | 2020.08.09 |
Baekjoon 11399번 ATM (0) | 2020.08.09 |
Baekjoon 11726번 2xn 타일링 (0) | 2020.08.09 |
댓글