728x90
문제 설명
문자열 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가지 함수는 유용하게 사용될 것 같다.
'알고리즘' 카테고리의 다른 글
[코딩테스트] Level. 1 서울에서 김서방 찾기 (0) | 2023.01.16 |
---|---|
[코딩테스트] Level. 1 문자열 다루기 기본 (0) | 2023.01.16 |
[코딩테스트] Level. 1 문자열 내 마음대로 정렬하기 (0) | 2023.01.12 |
[코딩테스트] Level. 1 두 정수 사이의 합 (0) | 2023.01.12 |
[코딩테스트] Level. 1 나누어 떨어지는 숫자 배열 (0) | 2023.01.12 |