본문 바로가기
코딩테스트

[프로그래머스] 대문자와 소문자

by liz_devel 2025. 12. 21.

🗒 문제


📝 나의 문제풀이

class Solution {
    fun solution(my_string: String): String {
       return my_string
            .map{ 
                c-> if(c.isUpperCase()) c.lowercaseChar() else c.uppercaseChar()}.joinToString("")
    }
}

 


🖊 문제 풀이 시 알면 좋을 것

 

map { }

  • 용도: 컬렉션(List, Array, String 등)의 각 요소를 변환하여 새로운 컬렉션 반환
  • 문자열에 적용하면 각 문자(Char)를 변환 가능
val str = "abc"
val upper = str.map { it.uppercaseChar() }.joinToString("")
println(upper) // "ABC"

여기서 it  → 문자열의 각 문자

 

isUpperCase() / isLowerCase()

  • 용도: 문자가 대문자인지 / 소문자인지 확인
  • 반환값: Boolean
val c = 'A'
println(c.isUpperCase()) // true
println(c.isLowerCase()) // false

문제에서는 대문자면 소문자로, 소문자면 대문자로 바꾸기에 사용

 

 

uppercaseChar() / lowercaseChar()

  • 용도: 문자(Char) 단위로 대문자/소문자로 변환
  • 문자열(String) 단위와는 다름 (uppercase() / lowercase()는 String용)
val c = 'a'
println(c.uppercaseChar()) // 'A'
val d = 'B'
println(d.lowercaseChar()) // 'b'

 

 

joinToString("")

  • 용도: 컬렉션을 문자열로 합치기
  • "" → 구분자 없이 붙임
val chars = listOf('A','B','C')
println(chars.joinToString("")) // "ABC"

map으로 변환한 Char 리스트를 다시 문자열로 만들 때 사용

반응형