Baekjoon

Baekjoon 18870번 좌표 압축

ppwag 2020. 8. 9. 23:19

문제

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

댓글