문자열 내림차순으로 배치하기
xreverseStr 메소드는 String형 변수 str을 매개변수로 입력받습니다.
str에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 String을 리턴해주세요.
str는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
예를들어 str이 Zbcdefg면 gfedcbZ을 리턴하면 됩니다.
문자를 큰것부터 작은 것까지 내림차순으로 정렬하는 문제이다. 어떻게 보면 복잡해질 수도 있는데, 이게 대문자는 소문자보다 작은것으로 간주한다고 문제에 주어져 있기 때문에 유니코드 순으로 정렬하면 된다. 문자열을 배열로 잘라주고 Arrays
클래스의 sort()
메소드로 간단하게 정렬해준다.
이 때, Arrays.sort(arr)
로 정렬하게되면 디폴트값인 오름차순으로 정렬이 된다. 때문에 내림차순을 하기 위해서는 sort할 때 Collections
클래스의 reverseOrder()
메소드로 정렬 방법을 지정해주어야 한다.
xxxxxxxxxx
import java.util.Arrays;
import java.util.Collections;
public class ReverseStr {
public String reverseStr(String str){
String[] arr = str.split("");
Arrays.sort(arr, Collections.reverseOrder());
return String.join("", arr);
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
public static void main(String[] args) {
ReverseStr rs = new ReverseStr();
System.out.println(rs.reverseStr("Zbcdefg"));
}
}
'공부 > algorithm' 카테고리의 다른 글
[programmers] 나누어 떨어지는 숫자 배열 (0) | 2018.05.22 |
---|---|
[programmers] 행렬의 덧셈 (0) | 2018.05.21 |
[programmers] 삼각형출력하기 (0) | 2018.05.21 |
[programmers] 가운데 글자 가져오기 (0) | 2018.05.21 |
[programmers] 약수의 합 (0) | 2018.05.21 |
댓글