TIL #5

loci·2024년 5월 4일
0

TIL

목록 보기
5/103

문자열다루는 문제
처음에 대문자로만 바꿔줘서 계속 틀리다가 소문자로도 바꾸는 부분을 추가해줌
또, 입출력 예에서는 맞게나오는데 제출 후 채점을 하니 몇개씩 틀리는 문제가 나왔다.
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을 받아서 조건에 따라 변환해준다

profile
편리한 개발자

0개의 댓글