반응형
- 첫 풀이 및 정답 풀이
이 문제는 대소문자 알파벳을 일반 정렬을 하게 될 경우 대문자가 먼저 정렬되고 소문자가 정렬되기 때문에 주어진 문자열 s를 역순으로 정렬하는 것이 핵심이다. 이를 위해 주어진 문자열을 배열로 변환하는 과정을 거쳐야 하는데, 처음에는 String str [] = new String []{s};로 str [0]에 s문자열을 요소로 생성해 버리는 실수를 했다.
문자열 배열의 인덱스 별로 문자를 저장해야 하기 때문에 String str [] = s.split("");을 이용해 저장할 수 있었다. 또한 이 방법 외에도 문자열 s를 char 배열에 저장하기 위해 char[] ch = s.toCharArray(); 를 이용하는 방법도 존재한다는 것을 알 수 있었다.
import java.util.Arrays;
import java.util.Collections;
class Solution {
public String solution(String s) {
// 1. 문자열 배열의 인덱스별로 각 문자를 저장.
String answer[] = s.split("");
// 2. 출력을 위한 변수
String str="";
// 3. Arrays.sort()메소드의 Collections.reverseOrder()메소드를 사용해 역순정렬.
Arrays.sort(answer,Collections.reverseOrder());
// 4. 출력 데이터 생성.
for(int i=0;i<answer.length;i++){
str+=answer[i];
}
return str;
}
}
반응형