프로그래머스 Level1-11 | 문자열 내림차순으로 정렬하기

yuriyaam·2021년 1월 28일
0
post-thumbnail

문제

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

코드

static String solution(String s) {
    String answer = "";

    String arr[] = s.split("");
    String temp = "";

    for (int i = 0; i < arr.length - 1; i++) {
	for (int j = i + 1; j < arr.length; j++) {
	    if (arr[i].compareTo(arr[j]) < 0) {
		temp = arr[i];
		arr[i] = arr[j];
		arr[j] = temp;
	    }
	 }
     }

    for (int i = 0; i < arr.length; i++) {
	answer += arr[i];
    }
    return answer;
}

더 좋은 코드

static String solution2(String s) {
    char[] sol = s.toCharArray();
    Arrays.sort(sol);
    return new StringBuilder(new String(sol)).reverse().toString();
}

toCharArray() 함수

  • 문자열을 char형 배열로 바꾼다.
  • return : char[]

0개의 댓글