[백준 18870] 좌표 압축

Junyoung Park·2022년 7월 25일
0

코딩테스트

목록 보기
512/631
post-thumbnail

1. 문제 설명

좌표 압축

2. 문제 분석

해당 좌표 배열을 집합화 -> 오름차순 정렬하자. 이 인덱스 순위가 곧 자신이 주어진 좌표들 가운데 몇 번째인지다. 딕셔너리에 기록한 뒤, 프린트하자.

3. 나의 풀이

import Foundation

let N = Int(String(readLine()!))!
var dots = Array(readLine()!.split(separator: " ").map{Int(String($0))!})
var sortedDots = Array(Set(dots))
sortedDots.sort()
var dotsDict = [Int:Int]()
for data in sortedDots.enumerated() {
    dotsDict[data.element] = data.offset
}

for dot in dots {
    print(dotsDict[dot] ?? 0, terminator: " ")
}
profile
JUST DO IT

0개의 댓글