프로그래머스

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

빙수빈수 2021. 7. 15. 16:32

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

 

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

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

programmers.co.kr

[문제]

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

 

[제한 조건]

str은 길이 1 이상인 문자열입니다.

 

[코드]

import java.util.*;
class Solution {
public String solution(String s) {
        String answer="";
        Character[] arr=new Character[s.length()];
        
        // 문자열의 문자마다 잘라 배열에 저장
        for(int i=0;i<s.length();i++) {
        	char ch=s.charAt(i);
        	arr[i]=ch;
        }
        
        // 문자열 s 역순 정렬
        Arrays.sort(arr,Collections.reverseOrder());
        
        for(int i=0;i<arr.length;i++)
        	answer+=arr[i];
        
        return answer;
    }
}


[고찰]

 이번 문제는 배열에 저장된 데이터를 역순으로 정렬해주는 Collections.reverseOrder() 함수를 알고 있다면 쉽게 해결할 수 있는 문제였다. 이때 해당 함수를 사용하기 위해서는 arr 배열이 char가 아닌 Character 자료형으로 선언되어야 한다는 점은 주의해야 한다.