
문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 조건
str은 길이 1 이상인 문자열입니다.
입출력 예
| s | return |
|---|---|
| "Zbcdefg" | "gfedcbZ" |
import java.util.*;
class Solution {
public String solution(String s) {
String[] arr = s.split("");
Arrays.sort(arr, Collections.reverseOrder());
return String.join("",arr);
}
}
}
}
split() 을 사용해 String 형 배열로 만들어준다.Arrays.sort()를 사용해서 정렬을 하는데, Collections.reverseOrder()을 사용했다.Collections.reverseOrder() : 배열을 역방향 사전순으로 정렬한다.
Collections.sort(): ArrayList 배열 내 요소 오름차순 정렬Collections.reverse(): ArrayList 배열 내 요소 내림차순 정렬Arrays.sort(): 배열 내 요소 오름차순 정렬Arrays.sort(arr, Collections.reverseOrder()): 배열 내 요소 내림차순 정렬
import java.util.Arrays;
public class ReverseStr {
public String reverseStr(String str){
char[] ch = str.toCharArray();
Arrays.sort(ch);
return new StringBuilder(new String(arr)).reverse().toString();
}
}
해당 코드는 런타임 에러가 난다...?
너무 짧은 코드에 얽매이지 말자!
참고
https://velog.io/@mpfo0106/코테에서-자주-사용하는-Java-메소드들
https://developer-talk.tistory.com/485
https://offbyone.tistory.com/154
https://justdoit0730.tistory.com/102