문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12917
주어진 문자열 s를 내림차순으로 배치한다. s는 영어 대소문자로 이뤄져있고, 대문자는 소문자보다 작은것으로 간주한다.
사실 쉬운문제라 생각할 것도 없다. 아스키문자대로 내림차순 정렬하면 대문자는 소문자 뒤로 오기 때문에 간단하다.
문자열을 배열로 만든 후 정렬 시키고 다시 문자열로 바꾸면 끝.
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
char[] chars = s.toCharArray();
Arrays.sort(chars);
answer = new StringBuilder(new String(chars)).reverse().toString();
return answer;
}
}
StringBuilder에 reverse()메서드가 존재하는지 몰랐다. 찾아보니 StringBuffer에도 reverse()메서드가 존재하더라.
다음에 문자열 정렬을 할 때가 온다면 한번 사용해보자.