티스토리 뷰

반응형

 

문제 설명

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.

제한 사항
  • str은 길이 1 이상인 문자열입니다.
입출력 예
"Zbcdefg" "gfedcbZ"

 

 

고수님들의 풀이법. 1번. 

val i = s.toCharArray().sorted().reversed().joinToString("")
//joinToString 이란? List 를 String 으로 변환시켜주는 함수 .

 

고수님들의 풀이법. 2번.

var k = ""
for (item in s.toCharArray().sortedDescending()) {
    k += item
}

 

 

나의 풀이법 . 정말 써놓고도 안좋은 코드인 것 같다.

 

private fun solution(s: String): String {
    var l = ""
    var m = ""
    var n = ""
    s.forEach {
        if (it.isLowerCase()) {
            m += it
        } else {
            n += it
        }
    }
    val v = m.toCharArray().sortedDescending().joinToString("")
    val x = n.toCharArray().sortedDescending().joinToString("")

    l = v + x
    return l
}

 

sortedDescending() : 내림차순으로 정렬.

joinToString 이란? List 를 String 으로 변환시켜주는 함수 .

 

앞으로도 이 2가지 함수는 유용하게 사용될 것 같다.

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함