문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
str은 길이 1 이상인 문자열입니다.
s | return |
---|---|
"Zbcdefg" | "gfedcbZ" |
import java.util.Arrays;
import java.util.Collections;
class Solution {
public String solution(String s) {
String[] arrS = s.split("");
Arrays.sort(arrS, Collections.reverseOrder());
StringBuilder sb = new StringBuilder();
for(String str: arrS) {
sb.append(str);
}
return sb.toString();
}
}
String -> split 해서 배열로 만들고, 내림차순으르로 정렬하고 다시 합쳐서 리턴한다.
다른 사람이 푼 코드중에 마음에 드는 코드(스트림 쓰는 연습 하기!!)
import java.util.stream.Stream;
import java.util.stream.Collectors;
import java.util.Comparator;
import java.util.Arrays;
import java.util.Collections;
class Solution {
public String solution(String s) {
return Stream.of(s.split(""))
.sorted(Comparator.reverseOrder())
.collect(Collectors.joining());
}
}