[알고리즘과 자료구조] JAVA - 문자열 내림차순으로 배치하기

가이드문구

문제 설명

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.

s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.


제한 사항

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


문제 풀이

- String 데이터를 char 배열에 담고 int형 배열을 char 배열의 길이만큼 생성합니다.

- ascii 코드로 변환하기 위해 char 문자열을 int형 배열에 담고, 정렬합니다.

- 정렬된 데이터를 역순으로 StringBuffer 에 담아 출력합니다.


더 깔끔한 코드가 있는지.... 찾아보고 복습해야 할듯 ㅠ_ㅠ

  1. import java.util.*;
  2. class Solution {
  3. public String solution(String s) {
  4. String answer = "";
  5. char[] chr = s.toCharArray();
  6. int[] aschr = new int[chr.length];
  7. for( int i = 0; i < chr.length; i++ ){
  8. aschr[i] = chr[i];
  9. }
  10. Arrays.sort(aschr);
  11. StringBuffer sb = new StringBuffer();
  12. for( int k = aschr.length-1; k >= 0; k-- ){
  13. sb.append( Character.toString( (char) aschr[k] ) );
  14. }
  15. answer = sb.toString();
  16. return answer;
  17. }
  18. }



작성자 소개
초이 프로필
WrapUp 블로거

초이

반려견을 좋아하고, 차를 좋아하고, 여행을 좋아하고, 맛집을 찾아 즐기는 웹 개발자 입니다^^