프로그래밍/코딩 테스트

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

하와이블루 2024. 8. 24. 20:34
728x90

 

 

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


제한 사항.
* str은 길이 1 이상인 문자열입니다.

 

 

나의 접근.

대문자가 소문자보다 작은 것으로 간주하기 때문에 charAt를 통해 각 낱말의 값을 비교하여 오름차순으로 재배열한다.

 

import java.util.Arrays;
import java.util.stream.Collectors;

class Solution {
    public String solution(String s) {

        String[] str = s.split("");
        
        // 오름차순으로 재배열
        for (int i = 0 ; i < str.length ; i++){
            for (int j = i+1 ; j < str.length ; j++){
                s = Arrays.stream(str).collect(Collectors.joining());
                if( s.charAt(i) < s.charAt(j) ){
                    String t = str[i];
                    str[i] = str[j];
                    str[j] = t;
                }
            }
        }
        
        return Arrays.stream(str).collect(Collectors.joining());
    }
}
// 입력값
Zbcdefg

// 결과
gfedcbZ

 

 

 

링크.

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

 

 

 

728x90