[백준] 데이트 (1296)(kotlin)
문제 설명
입력 및 출력
» 입력
첫째 줄에 오민식의 영어 이름이 주어진다. 둘째 줄에는 좋아하는 여자가 몇 명인지 N이 주어지고, 셋째 줄부터 N개의 줄에 여자의 이름이 하나 씩 주어진다. N은 50보다 작거나 같고, 모든 이름은 알파벳 대문자로만 구성되어 있고 모두 길어야 20글자이다.
» 출력
오민식이 선택한 여자의 이름을 출력한다.
예제 입출력(테스트케이스)
입력 | 출력 |
---|---|
OHMINSIK 9 YOONA TIFFANY YURI HYOYEON SOOYOUNG SEOHYUN TAEYEON JESSICA SUNNY |
HYOYEON |
문제 풀이1
import java.lang.Exception
fun main(args: Array<String>) = with(System.`in`.bufferedReader()) {
var mL = 0
var mO = 0
var mV = 0
var mE = 0
readLine().forEach {
when (it) {
'L' -> mL++
'O' -> mO++
'V' -> mV++
'E' -> mE++
}
}
val n = readLine().toInt()
val list = mutableListOf<String>()
var woman = ""
var max = 0
repeat(n) {
var l = mL
var o = mO
var v = mV
var e = mE
val next = readLine()
.onEach { ch ->
when (ch) {
'L' -> l++
'O' -> o++
'V' -> v++
'E' -> e++
}
}
list.add(next)
val pctg = ((l + o) * (l + v) * (l + e) * (o + v) * (o + e) * (v + e)) % 100
if (pctg > max) {
max = pctg
woman = next
} else if (pctg == max && woman > next) {
woman = next
}
}
if (max == 0) println(list.sortedBy { it }[0])
else println(woman)
}