TLI/코드카타
2024.06.08 TIL 코트카타 76번(JadenCase 문자열 만들기)
jaeseonyoo
2024. 6. 8. 14:11
fun solution(s: String): String {
val sStringBuilder = StringBuilder(s)
if(s[0].code in 97..122)
sStringBuilder[0] = Character.toUpperCase(s[0])
var beforeChar = s[0]
for(sIndex in 1.. s.length-1) {
val currentChar = s[sIndex]
if(beforeChar == ' ' && currentChar.code in 97..122)
sStringBuilder[sIndex] = Character.toUpperCase(currentChar)
if(beforeChar != ' ' && currentChar.code in 65..90)
sStringBuilder[sIndex] = Character.toLowerCase(currentChar)
beforeChar = currentChar
}
return sStringBuilder.toString()
}
풀이 과정
1. s[0]은 이전 글자가 없기 때문에 따로 확인한다
2. s[1]부터 한 글자씩 마지막 인덱스까지 확인한다.
2.1. 이전 문자가 공백인데(현재 문자가 시작인데) 소문자인 경우 -> 대문자로 변경
2.2. 이전 문자가 공백이 아닌데(현자 문제가 시작문자가 아닌데) 대문자인 경우 -> 소문자로 변경
3. 현재 문자를 이전 문자로 초기화