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
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
[백준][Python] 9093. 단어 뒤집기 (0) | 2022.08.23 |
---|---|
[백준][Python] 10828. 스택 (0) | 2022.08.23 |
[백준][Python]10814. 나이순 정렬 (0) | 2022.08.22 |
[백준][Python] 1181. 단어 정렬 (0) | 2022.08.22 |
[파이썬] 01. 배열 중복 없애기 (0) | 2022.08.22 |