본문 바로가기

코딩테스트 연습/JAVA

[JAVA/알고리즘] 문자열 내림차순으로 배치하기

반응형

 

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

 

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

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

programmers.co.kr

 

문자열을 배열로 바꾼 다음에 정렬을 통해서 알파벳 순서대로 만들었다. 이후에 배열 순서대로 다시 문자열에 넣었다. 예전에는 아스키코드 생각하고 그랬는데, 그냥 크기 비교만 해도 되는 걸 너무 복잡하게 생각했던 것 같다.

import java.util.*;

class Solution {
    public String solution(String s) {
        String answer = "";
        char[] ordered = s.toCharArray();
        
        for (int i = 0; i < ordered.length; ++i) {
            for (int j = i; j < ordered.length; ++j) {
                if (ordered[i] < ordered[j]) {
                    char temp = ordered[i];
                    ordered[i] = ordered[j];
                    ordered[j] = temp;
                }
            }
        }
        
        for (char ch : ordered) {
            answer += ch;
        }
        
        return answer;
    }
}

 

다른 풀이

반응형