728x90
풀이
- 좌표를 입력 받는다. 이때 입력 받은 좌표를 정렬할 좌표를 하나 더 선언한다.
- 정렬된 좌표를 이용하여 좌표 압축 조건을 저장하는 Map Data 를 선언한다.
- 저장된 Map Data 를 출력 한다.
코드
import java.io.*
import java.util.*
fun main(args: Array<String>) {
val br = BufferedReader(InputStreamReader(System.`in`))
val bw = BufferedWriter(OutputStreamWriter(System.out))
val n = br.readLine().toInt() // 개수 입력 받기
val input = mutableListOf<Int>()
val compress = mutableListOf<Int>()
val resultMap = mutableMapOf<Int, Int>()
br.readLine().split(" ")
.map {
input.add(it.toInt()) // 입력된 숫자 저장
compress.add(it.toInt()) // 입력된 숫자를 정렬한 리스트
}
Collections.sort(compress)
var count = 0
for (i in 0 until compress.size) {
if (resultMap[compress[i]] == null) {
resultMap[compress[i]] = count++
}
}
for (i in 0 until n) {
bw.write("${resultMap[input[i]]} ")
}
bw.flush()
bw.close()
br.close()
}
728x90
'알고리즘' 카테고리의 다른 글
[백준][KOTLIN] 9184 신나는 함수 실행 (0) | 2021.12.08 |
---|---|
[백준][KOTLIN] 1003 피보나치 함수 (0) | 2021.12.08 |
[백준][KOTLIN] 10814 나이순 정렬 (0) | 2021.12.07 |
[백준][KOTLIN] 1181 단어 정렬 (0) | 2021.12.07 |
[백준][KOTLIN] 11650 좌표 정렬하기 (0) | 2021.12.06 |