SW Test/Programmers
[Programmers] Lv2.JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ(kotlin)
An effort will never betray ๐
2022. 9. 12. 11:07
๋ฐ์ํ
๋ฌธ์
์์
ํ์ด
- ๋จผ์ , ์ฒซ ๋ฒ์งธ ๋ฌธ์์ด์ ์ ์ธํ๊ณ ๋ค๋ฅธ ๋ฌธ์์ด์ ์๋ฌธ์๋ก ๋ณ๊ฒฝ๋์ด์ผ ํ๋ฏ๋ก ์ ์ฒด ๋ฌธ์์ด์ ์๋ฌธ์ํ ์ํต๋๋ค.(toLowerCase)
- ์ดํ " " delimeter ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋ถ๋ฆฌํ ๋ค ์ฒซ ๋ฒ์งธ ๋ฌธ์์ด์ ๋๋ฌธ์ํ ์ํค๋ฉด ๋ฉ๋๋ค(toUpperCase). ํ์ง๋ง delimeter๊ฐ ์ฐ์์ ์ผ๋ก ๋ค์ด๊ฐ ์ ์๊ณ ์ฐ์์ ์ผ ๊ฒฝ์ฐ ๋น๋ฌธ์์ด์ด split ๋ฆฌ์คํธ๋ก ์ถ๊ฐ๊ฐ ๋ฉ๋๋ค. ์ด๋ด ๋ first๋ฅผ ํธ์ถํ ๋ ๋ฐํ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ฏ๋ก firstOrNull ํจ์๋ฅผ ํตํด์ Null Check ํ ๋๋ฌธ์ํ ์ํค๋๋ก ํ์๋ฉด ๋ฉ๋๋ค.
class Solution {
fun solution(s: String): String {
return s.toLowerCase().split(" ").map{
it.firstOrNull()?.let{ first ->
it.replaceFirst(first, first.toUpperCase())
} ?: it
}.joinToString(" ")
}
}
์ฐธ๊ณ
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ kotlin์ ํน์ฑ์ ๋ง๊ฒ ํจ์๋ฅผ ๋ง์ด ์ตํ์ ๐ฝ
- https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/to-lower-case.html
๋ฐ์ํ