코딩테스트
[BOJ/4434문제] 소수점 자릿수
쵱니
2020. 10. 4. 00:10
문제 : www.acmicpc.net/problem/4344
4344번: 평균은 넘겠지
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
www.acmicpc.net
내 코드
import java.util.*
fun main() {
val sc = Scanner(System.`in`)
val n = sc.nextLine().toInt()
var arr: List<String>
var sum: Int
var ave: Double
var stu: Int
for (i in 1..n) {
arr = sc.nextLine().split(" ")
ave = 0.0
sum = 0
for (j in 1..arr[0].toInt()) {
sum += arr[j].toInt()
}
ave = sum / arr[0].toDouble()
stu = 0
for (j in 1..arr[0].toInt()) {
if (ave < arr[j].toInt())
stu++
}
System.out.println(String.format("%.3f", stu * 100 / arr[0].toDouble()) + "%")
}
}
뛰어난 코드
fun main() {
repeat(readLine()!!.toInt()) {
val list = readLine()!!.split(" ").drop(1).map { it.toInt() }
val n = list.count().toDouble()
println("${"%.3f".format(100 * list.count { it > list.average() } / n)}%")
}
}
평
간결하고 더 깔끔하다.