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

박영준·2023년 6월 21일
0

코딩테스트

목록 보기
265/300
class Solution {
    public String solution(String s) {
        String answer = "";
        return answer;
    }
}

해결법

방법 1

import java.util.*;

class Solution {
    public String solution(String s) {
        String answer = "";
        
        String[] str = s.split("");
        
        Arrays.sort(str, Collections.reverseOrder());
        
        for (String a : str) {
           answer += a;
        }
        
        return answer;
    }
}    
  • 원래 대문자가 소문자 앞 순서에 위치한다.
    • 따라서, 그대로 내림차순으로 정렬해주면 된다.
      • Arrays.sort(정렬할 배열, Collections.reverseOrder());

방법 2

import java.util.*;

class Solution {
    public String solution(String s) {
        
        char[] ch = s.toCharArray();		// 문자열 -> 문자
    
        Arrays.sort(ch);		// 오름차순 정렬
        
        StringBuilder st = new StringBuilder(String.valueOf(ch));		// 문자 -> 문자열
        
        st.reverse();		// 문자열 뒤집기
        
        return st.toString();
    }
}
  • StringBuilder 로 푸는 방법

  • Arrays.sort(ch) 오름차순 정렬의 필요성?

    • reverse() 는 순서를 뒤집을 뿐, 내림차순으로 정렬해주지 않는다.
    • 따라서, 먼저 오름차순으로 정렬해줘야 한다.

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

profile
개발자로 거듭나기!

0개의 댓글