[백준][KOTLIN] 18870 좌표 압축

[백준][KOTLIN] 18870 좌표 압축

728x90

풀이

좌표를 입력 받는다. 이때 입력 받은 좌표를 정렬할 좌표를 하나 더 선언한다. 정렬된 좌표를 이용하여 좌표 압축 조건을 저장하는 Map Data 를 선언한다. 저장된 Map Data 를 출력 한다.

코드

import java.io.* import java.util.* fun main(args: Array) { val br = BufferedReader(InputStreamReader(System.`in`)) val bw = BufferedWriter(OutputStreamWriter(System.out)) val n = br.readLine().toInt() // 개수 입력 받기 val input = mutableListOf() val compress = mutableListOf() val resultMap = mutableMapOf() 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() }

from http://jefflim-81.tistory.com/50 by ccl(A) rewrite - 2021-12-08 09:28:09