Nellie's Blog

[프로그래머스] Lv1. 문자열 내림차순으로 배치하기(java) 본문

Back-end/Algorithm

[프로그래머스] Lv1. 문자열 내림차순으로 배치하기(java)

Nellie Kim 2023. 7. 11. 15:31
728x90
    문제 설명

    문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
    s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.

     

     

    제한 사항
    • str은 길이 1 이상인 문자열입니다.

     

    입출력 예

     

     

    내 풀이

    import java.util.*;
    
    class Solution {
        public String solution(String s) {
    
            char[] chars = s.toCharArray();
            Arrays.sort(chars);
    //        StringBuilder stringBuilder = new StringBuilder(chars.toString());
            StringBuilder answer = new StringBuilder(new String(chars));
    
    
            return answer.reverse().toString();
        }
    }

     

     

     

    풀이 방법

    1. s.toCharArray();로 쪼개서 char배열 만들기

    2. Arrays.sort로 정렬하기 

    3. StringBuilder생성하고, 생성자 매개변수에 new String(chars)) 넣어주기.

     

    Arrays.sort(arr, Collections.reverseOrder()) 쓰려고 했더니, arr의 형태가 Wrapper클래스(String, Integer)가 아니면 사용을 못한다고 한다.  지금 정렬하려고 하는 배열은 Wrapper클래스가 아닌 char형태의 배열이기 때문에, StringBuilder를 사용해야 한다.

     

     

    4. reverse하고 반환하기!