Edited at

kokkik関数の実装 (OkHttp -> OkKkkk)

More than 1 year has passed since last update.

はい。

fun kokkik(name: String) = run {

val vowel = arrayOf('a', 'i', 'u', 'e', 'o', 'A', 'I', 'U', 'E', 'O')
name.map {
when {
vowel.contains(it) || !it.isLetter() || it.isDigit() -> it
it.isLowerCase() -> 'k'
else -> 'K'
}
}.joinToString(separator = "")
}

ツイートに含まれていた名前に加えて数字と記号もテスト。マルチバイト文字については未サポート。

@Test

fun kokkikTest() {
Assertions.assertEquals("kokkik", kokkik("kotlin"))
Assertions.assertEquals("Kekkokik", kokkik("Retrofit"))
Assertions.assertEquals("Kokki", kokkik("Moshi"))
Assertions.assertEquals("Kkok", kokkik("Gson"))
Assertions.assertEquals("KkKaka", kokkik("RxJava"))
Assertions.assertEquals("KukkekKkike", kokkik("ButterKnife"))
Assertions.assertEquals("AkkKokkak", kokkik("AppCompat"))
Assertions.assertEquals("OkKkkk_OK", kokkik("OkHttp_OK"))
Assertions.assertEquals("OkKkkk2", kokkik("OkHttp2"))
}