본문 바로가기

문제 풀이/Programmers

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

문제 출처 - Programmers

문제는 여기

 

코딩테스트 연습 - 문자열 내림차순으로 배치하기

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

programmers.co.kr


[풀이]

1. 입력받은 문자열을 toCharArray를 이용해 문자 단위로 잘라 배열에 담아준다.

2. 1. 에서 만들어진 배열을 정렬해준다.

3. 2. 에서 정렬된 배열은 오름차순이므로 뒤에서부터 answer에 담아준다.

4. 결과를 출력한다.

[접근]

1. 문자열을 문자 단위로 잘라서 정렬해주고 처리하면 되겠다고 생각하였다.

[코드]

import java.util.*;

class Solution {
    public String solution(String s) {
        String answer = "";
        // 각 문자를 잘라서 배열에 담아주기
        char[] str = s.toCharArray();
        
        // 오름차순으로 정렬
        Arrays.sort(str);
        
        // 오름차순으로 정렬되어있으므로 역순으로 answer에 넣어주기
        for (int i = str.length - 1; i >= 0; i--) {
            answer += str[i];
        }
        
        return answer;
    }
}