baekjoon: 10989. 수 정렬하기 3

kldaji·2021년 12월 27일
1

baekjoon

목록 보기
3/5

문제링크

  • 제한 시간 : 1초
  • n : 1 ~ 10,000,000
  • O(N * logN) -> 약 2억 연산 -> x
  • O(N) 해결 방법 필요
  • 숫자 범위 : 1 ~ 10,000

Counting Sort

import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter

fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    val bw = BufferedWriter(OutputStreamWriter(System.out))
    // n : 1 ~ 10,000,000
    val n = br.readLine().toInt()
    val counts = Array(10001) { 0 }
    for (i in 0 until n) {
        val num = br.readLine().toInt()
        counts[num]++
    }
    counts.forEachIndexed { index, count ->
        for (i in 0 until count) {
            bw.write("$index\n")
        }
    }
    br.close()
    bw.close()
}
profile
다양한 관점에서 다양한 방법으로 문제 해결을 지향하는 안드로이드 개발자 입니다.

0개의 댓글