문자열다루는 문제
처음에 대문자로만 바꿔줘서 계속 틀리다가 소문자로도 바꾸는 부분을 추가해줌
또, 입출력 예에서는 맞게나오는데 제출 후 채점을 하니 몇개씩 틀리는 문제가 나왔다.
return 할 때 .trim()했던부분이 문제였음
소문자로 바꾸기 - .toLowerCase()
대문자로 바꾸기 - .toUpperCase()
for문에서 string을 문자하나씩 가져올 수 있다.
풀이
class Solution {
fun solution(s: String): String {
var answer = ""
var count = 0
for (i in s){
count++
if(i == ' '){
answer += " "
count = 0
} else if (count % 2 == 0){
answer += i.toLowerCase()
} else {
answer += i.toUpperCase()
}
}
return answer
}
}
다른사람의 풀이
class Solution {
fun solution(s: String) =
s.split(" ").joinToString(" ") { word ->
word
.mapIndexed { index, char ->
if (index % 2 == 0) char.toUpperCase() else char.toLowerCase()
}
.joinToString("")
}
}
.joinToString() = 컬렉션을 문자열로 결합할 때 쓸 수있다.
.joinToString("")는 중간에 공백없이 출력
mapIndexed로 index와 char을 받아서 조건에 따라 변환해준다