[programmers] 문자열 내림차순으로 배치하기 (java) -1level

2022. 2. 17. 09:51Algorithm/Programmers

문제 설명

 

 

 

문제 해결

 

import java.util.Arrays;
import java.util.Collections;

public class 문자열내림차순으로배치하기 {
    public String solution(String s) {
        String answer = "";
        String[] arr = s.split("");

        Arrays.sort(arr,Collections.reverseOrder());

        for (String data: arr
             ) {
            answer += data;
        }
        return answer;
    }
}

 

오름차순 정렬 : Arrays.sort(배열)

내림차순 정렬 : Arrays.sort(배열, Collections.reverseOrder())

 

정수를 내림차순 정렬할 때에는 int [] 타입은 되지 않고 객체 Integer [] 타입으로 해주어야 한다.

 

+) 다른 사람의 풀이

 

Arrays.sort로 오름차순 정렬만 하여 StringBuilder 사용해서 reverse()로 뒤집어 붙여준다.

import java.util.Arrays;

public class ReverseStr {
    public String reverseStr(String str){
    char[] sol = str.toCharArray();
    Arrays.sort(sol);
    return new StringBuilder(new String(sol)).reverse().toString();
    }

    // 아래는 테스트로 출력해 보기 위한 코드입니다.
    public static void main(String[] args) {
        ReverseStr rs = new ReverseStr();
        System.out.println( rs.reverseStr("Zbcdefg") );
    }
}
728x90