티스토리 뷰

Kotlin(native / JVM)으로 풀어보기


10818 최소, 최대 (JVM)

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

fun main() {
    val bufferedReader = BufferedReader(InputStreamReader(System.`in`))
    val bufferedWriter = BufferedWriter(OutputStreamWriter(System.out))
    val count = bufferedReader.readLine().toInt()
    val array = bufferedReader.readLine()
        .split(' ')
        .subList(0, count)
        .map { it.toInt() }
        .toIntArray()

    bufferedWriter.write("${array.min()} ${array.max()}")
    bufferedWriter.flush()
    bufferedWriter.close()
}

 

2562 최댓값 (native)

fun main() {
    val list = mutableListOf<Int>().apply {
        repeat(9) {
            this.add(readLine()!!.toInt())
        }
    }.toList()
    val max = list.max()

    println("$max")
    println("${list.indexOf(max) + 1}")
}

 

2577 숫자의 개수 (native)

fun main() {
    var result = 1
    repeat(3) {
        result *= readLine()!!.toInt()
    }
    val array = Array(10) {0}

    result.toString().chunked(1).forEach { array[it.toInt()] += 1 }
    array.forEach { println(it) }
}

 

3052 나머지 (native)

fun main() {
    println(
        mutableSetOf<Int>().apply {
            repeat(10) { this.add(readLine()!!.toInt().rem(42)) }
        }.size
    )
}

 

1546 평균 (native)

fun main() {
    val count = readLine()!!.toInt()
    val scores = readLine()!!.split(' ')
        .subList(0, count)
        .map { it.toInt() }

    println(scores.sum().div(scores.max()!!.toDouble()).div(count).times(100))
}

 

8959 OX퀴즈 (native)

fun main() {
    repeat(readLine()!!.toInt()) {
        var n = 0
        var sum = 0

        readLine()!!.chunked(1).toMutableList().forEach { s ->
            if (s == "X") n = 0
            else n++
            sum += n
        }

        println(sum)
    }
}

 

4344 평균은 넘겠지 (JVM)

fun main() {
    repeat(readLine()!!.toInt()) {
        val text = readLine()!!.split(" ").map { it.toInt() }
        val scores = text.subList(1, text[0] + 1)

        println("${"%.3f".format(scores.filter { it > scores.average() }.size / scores.size.toDouble() * 100)}%")
    }
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함