알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄

https://programmers.co.kr/learn/courses/30/lessons/12917

 

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

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

programmers.co.kr


Think🤔

char 배열로 담아서 거꾸로 출력하면 된다

또는 아스키 코드 값을 비교해서 제일 큰 값이 앞으로 오게하면 된다.


Solution✍
import java.util.Arrays;

class Solution {
    public String solution(String s) {
        String answer = "";
        char[] ch = s.toCharArray();
        Arrays.sort(ch);
        for(int i=ch.length; i>0; i--){
            answer += ch[i-1];
        }
        
        return answer;
    }
}

for문쪽 이렇게 살짝 변경 가능 

        for(int i=ch.length-1; i>=0; i--){
            answer += ch[i];
        }

 

StringBuilder 응용 코드

import java.util.Arrays;

class Solution {
    public String solution(String s) {
        char[] ch = s.toCharArray();
        Arrays.sort(ch);
        return new StringBuilder(new String(ch,0,ch.length)).reverse().toString();
    }
}

Review🤩

StringBuilder reverse를 사용했고 그냥 reverse만 사용하면 문자를 큰 것 부터 작은 것 까지 정렬하는 부분이 없어서,

Array.sort(ch)로 배열을 뒤집었다.


 

+ Recent posts