문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
str은 길이 1 이상인 문자열입니다.
s return "Zbcdefg" "gfedcbZ"
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
// 문자열을 문자 배열로 변환
char[] chr = s.toCharArray();
// 문자 배열을 정렬
Arrays.sort(chr);
// 정렬된 문자 배열을 문자열로 변환
String str = new String(chr);
// 결과를 뒤집어서 큰 문자부터 작은 문자 순서로 반환
answer = new StringBuilder(str).reverse().toString();
return answer;
}
}
문자열을 char[] chr = s.toCharArray();로 문자 배열로 변환
Arrays.sort()를 사용하여 문자 배열을 정렬 (대문자가 소문자보다 작기 때문에 정렬 결과가 큰 문자부터 작은 문자로 순서)
다시 문자 배열을 문자열로 변환
StringBuilder를 사용하여 문자열 역순으로 만들어줌 ➡️ 문자열로 반환한 후 toString()을 사용하여 answer 변수에 할당
⭕return new StringBuilder(new String(chr)).reverse().toString();
여전히 이런게 너무 어렵다.. 배열을 내림차순 오름차순 공부하고 StringBuilder를 더 자주 써보도록 해야겠다!!!! Arrays.sort() 쓸 때 import java.util 까먹지 말기
Arrays.sort()
: 배열을 오름차순으로 정렬
StringBuilder().reverse()
: StringBuilder 내의 문자열들을 역순으로 변환