반응형

1. 문제 설명

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

 

 

2. 제한 사항

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

 

 

3. 입출력 예

 

s return
"Zbcdefg" "gfedcbZ"

 

 

4. 문제 풀이 코드

import java.util.*;

class Solution {

    public String solution(String s) {
    
        String answer = "";
        String[] str = s.split("");
        
        Arrays.sort(str);
        
        Collections.reverse(Arrays.asList(str));
        
        answer = String.join("", str);
        
        return answer;
        
    }
    
}

 

- 파라미터로 받은 문자열 s를 정렬하기 위해 배열에 넣었습니다.

- split() 함수를 사용하여 s 문자열의 문자를 각각 배열에 넣었습니다.

 

- Arrays.sort()를 이용해서 str 배열을 정렬했습니다.

- Collections의 reverse 함수로 역순으로 재 정렬했습니다. 이때, Collections.revers에는 List타입의 변수가 들어가야 하므로 Arrays.asList()를 사용했습니다.

 

- 반환 타입은 String이므로 만들었던 배열을 answer에 다시 문자열로 넣어준 후 반환했습니다.

 

 

 


이상으로 프로그래머스 Level 1. 문자열 내림차순으로 배치하기 문제를 JAVA 언어로 풀어보았습니다.


 

반응형