728x90
이번 코딩테스트는 JadenCase 문자열 만들기 이다. 사실 이 문제는 어려운 문제는 아니지만
어떤식으로 코드를 짜야하나 고민을 많이 했던 것 같다.
https://school.programmers.co.kr/learn/courses/30/lessons/12951
나의 풀이
var answer = ""
val a = s.split(" ")
a.forEachIndexed { index, it ->
it.forEachIndexed { index2, c ->
answer += if (index2 == 0) {
c.uppercase()
} else {
if (c.isUpperCase())
c.lowercase()
else c
}
}
if (index != a.size - 1) answer += " "
}
return answer
다른 사람의 풀이
capitalize() 는 1.5 부터 deprecated 되었다고 합니다.
fun solution(s: String): String {
return s.toLowerCase().split(" ").map {
it.capitalize()
}.joinToString(" ")
}
추천 코드가 있길래 바꿔봤더니 replaceFirestChar() 메소드가 있었습니다.
capitalize()는 왜 deprecated 되었는지 궁금하네요.
return s.lowercase().split(" ").joinToString(" ") { s ->
s.replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString() }
}
'알고리즘' 카테고리의 다른 글
깊이 우선 탐색(DFS) 너비 우선 탐색 (BFS) 에 대하여. (3) | 2023.08.17 |
---|---|
[코딩 테스트] Level. 2 N개의 최소공배수 (코틀린) (0) | 2023.08.16 |
[코딩 테스트] Level. 2 하노이의 탑 (코틀린) (0) | 2023.07.27 |
[코딩 테스트] Level. 1 추억 점수 (코틀린, Kotlin) (2) | 2023.07.08 |
[코딩 테스트] Level. 1 둘만의 암호 (kotlin,코틀린) (0) | 2023.06.16 |