관리 메뉴

나만을 위한 블로그

[Algorithm] 프로그래머스 - 대문자와 소문자 (Kotlin) 본문

알고리즘 문제 풀이/프로그래머스

[Algorithm] 프로그래머스 - 대문자와 소문자 (Kotlin)

참깨빵위에참깨빵_ 2023. 1. 4. 18:52
728x90
반응형
문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 리턴하는 solution()을 완성하라

 

 

먼저 주먹구구식으로 풀었다.

 

class Solution {
    fun solution(str: String): String {
        val list = str.toCharArray()
        val s = StringBuilder()
        for (i in list.indices) {
            if (list[i].isUpperCase()) {
                s.append(list[i].toLowerCase())
            } else {
                s.append(list[i].toUpperCase())
            }
        }

        return s.toString()
    }
}

 

아래는 위 코드를 좀 더 간략하게 줄여보려고 시도한 코드다.

 

class Solution {
    fun solution(str: String): String = str.toCharArray()
        .map { if (it.isUpperCase()) it.toLowerCase() else it.toUpperCase() }
        .joinToString("")
}

 

주먹구구식으로 풀 때 isUpperCase()의 설명을 보니 Char의 확장함수 형태로 만들어져 있어서 toCharArray()를 썼는데, toList()를 써도 통과 처리됐다.

반응형
Comments