본문 바로가기

Programmers

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

📌 문제

https://programmers.co.kr/learn/courses/30/lessons/12917?language=java 

 

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

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

programmers.co.kr

 

📌 코드

package programmers;

import java.util.Arrays;

public class Pro_220512 {   // 문자열 내림차순으로 배치하기
    public static String solution(String str) {
        String answer;

        String[] strArr = str.split("");    // String 배열에 문자열을 스플릿하여 넣어준다.
        Arrays.sort(strArr);    // sort 메소드를 사용하여 오름차순으로 우선 정렬

        StringBuilder sb = new StringBuilder();
        for (String s : strArr) {   // 문자를 더하기 위해 값을 하나씩 꺼내어 빌더에 저장
            sb.append(s);
        }
        answer = String.valueOf(sb.reverse());  // 오름차순으로 정렬하였으니 빌더 내부에 리버스 메소드 활용하여
        return answer;                          // 값 뒤집어 반환할 값에 저장
    }

    public static void main(String[] args) {
    	// 도움 코드
        String str = "Zbcdefg";
        System.out.println(solution(str));
    }
}