[Programmers] 문자열 내림차순으로 배치하기

Jay Mild Lee·2022년 11월 22일
0

I. 문자열 내림차순으로 배치하기

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

1. 문제 설명

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

2. 제한 사항

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

3. 풀이

내림 차순으로 문자를 정렬하면 되는 문제. 대문자는 실제로 ASCII 코드 상 작기 때문에, 그냥 역순으로 정렬하면 된다.

결론적으로, 다음과 같이 진행했다.

  1. 문자열을 char[] chararr에 저장한다.
  2. char[] chararr의 값을 List>Character> listarr에 저장한다.
  3. Collections.sort(listarr, Collections.reverseOrder());을 통해 역순으로 정렬한다.

4. 소스 코드

import java.util.*;
class Solution {
    public String solution(String s) {
                String answer = "";
        char[] chararr = s.toCharArray();
        List<Character> listarr = new ArrayList<>();
        for (int i = 0; i < chararr.length; i++) {
            listarr.add(chararr[i]);
        }
        Collections.sort(listarr, Collections.reverseOrder());
        for (int i = 0; i < chararr.length; i++) {
            chararr[i] = listarr.get(i);
        }

        answer = new String(chararr);

        return answer;
    }
}

0개의 댓글