본문 바로가기

코딩 테스트

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

728x90

문제


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

 

 

-  출력 예시  -

정답 코드


<  내 정답 코드  1  >

import java.util.*;

class Solution {
    public String solution(String s) {
        String result = "";
        String[] strArr = s.split("");
        Arrays.sort(strArr, Collections.reverseOrder());
        
        for (String str : strArr) {
            result += str;
        }
        
        return result;
    }
}

이것을 주의하자!


-  문자열을 String [ ] 로 쪼개서 저장한 다음, Arrays.sort( ) 메서드로 정렬을 시켰다. 물론 역순으로 하기 위해 Collections.reverseOrder( ) 메서드를 정렬 매개변수로 넣었다. 그리고 다시 String 문자열로 하나씩 합쳐서 반환시켰다.

 

-  String [ ] 대신 toCharArray( ) 메서드로 char [ ] 로 저장한 다음에 정렬하는 방법도 있다. 그리고 StringBuilder 객체를 만들어서 붙인 다음 문자열로 반환하는 것이다.