코딩테스트/백준

[백준][Python] 18870. 좌표 압축

내만 2022. 8. 23. 15:32
728x90
반응형

반응형

 

 

 

 

 

 

🙆‍♂️문제


 

🙋‍♂️풀이


좌표 압축 한다는 것은 가장 낮은 수부터 0으로 압축하여 다시 표현하는 것입니다.

입력 예제를 보면 -10이 가장 작아서 0 그 다음 -9는 1...

해서 출력 예제처럼 나오게 됩니다.

 

🚀 입력받기


import sys
n = int(sys.stdin.readline())
arr = list(map(int, sys.stdin.readline().split()))

먼저 숫자 개수와 숫자들을 입력받습니다.

 

🚀 문제 풀이 핵심


sortArr=list(dict.fromkeys(arr))
sortArr.sort()

arrDict={}
for i in range(len(sortArr)):
    arrDict[sortArr[i]]=i

입력받은 arr값들을 sortArr로 중복을 제거하고 정렬합니다.

그리고 arrDict라는 디렉토리를 선언하여 값과 인덱스가 매칭이 되도록 저장해줍니다.

 

🚀 출력하기


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

반복문을 사용해서 arr값을 키값으로 주면 그 값에 대한 인덱스가 출력되도록 합니다.

 

728x90

728x90
반응형