[Python] 백준18870 좌표 압축

[Python] 백준18870 좌표 압축

백준18870 좌표 압축 링크

문제

문제

예제 입력

예제


코드

import sys

n = int(input())
arr = list(map(int, sys.stdin.readline().split()))
res = sorted(set(arr))
dict_res = { res[i]:i for i in range(len(res)) }

for i in arr:
    print(dict_res[i], end=" ")

설명

파이썬을 통해서 사용자로부터 입력받아 자료형 set으로 중복을 제거한 후에 list로 정렬하고 dict로 숫자마다의 순위를 지정하여 좌표 압축를 구현했습니다.


정리

import sys

n = int(input())
arr = list(map(int, sys.stdin.readline().split()))
res = sorted(set(arr))

for i in arr:
    print(res.index(i), end=" ")

처음에는 자료형 list로 정렬하여 해당 인덱스를 출력하게 했으나 시간 초과가 발생했습니다.


결과

결과


© 2022. All rights reserved. 신동민의 블로그