[JAVA] 문자열 내림차순으로 배치하기 - Lv.1

태히·2022년 10월 15일
0

코딩테스트 연습

목록 보기
8/9

문제설명

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12917

주어진 문자열 s를 내림차순으로 배치한다. s는 영어 대소문자로 이뤄져있고, 대문자는 소문자보다 작은것으로 간주한다.

생각 생각

사실 쉬운문제라 생각할 것도 없다. 아스키문자대로 내림차순 정렬하면 대문자는 소문자 뒤로 오기 때문에 간단하다.
문자열을 배열로 만든 후 정렬 시키고 다시 문자열로 바꾸면 끝.

코드

import java.util.*;
class Solution {
    public String solution(String s) {
        String answer = "";
        char[] chars = s.toCharArray();
        Arrays.sort(chars);
        
        answer = new StringBuilder(new String(chars)).reverse().toString();
        return answer;
    }
}

풀이

  1. 문자열을 배열로 만든다.
  2. Arrays.sort()를 사용하여 정렬 - 오름차순 정렬
  3. StringBuilder에 정렬된 배열을 문자열로 만들어 넣어준다.
  4. StringBuilder에 있는 reverse()메서드를 통해 오름차순 정렬된 문자열을 뒤집는다.
  5. toString()으로 문자열로 변환.

REVIEW

StringBuilder에 reverse()메서드가 존재하는지 몰랐다. 찾아보니 StringBuffer에도 reverse()메서드가 존재하더라.
다음에 문자열 정렬을 할 때가 온다면 한번 사용해보자.

profile
하고싶은게 많은 개발자가 되고싶은

0개의 댓글