[JAVA/프로그래머스] 연습문제: 문자열 내림차순으로 배치하기

👀 문제

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

👊 도전

1. 설계

  1. 문자 하나씩 char형으로 비교해 내림차순으로 정렬한다.

2. 구현 (성공 코드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.util.*;
/**
 *
 * @author HEESOO
 *
 */
class Solution {
  public String solution(String s) {
      String answer = "";
      char[] array=s.toCharArray();
      Character[] arr=new Character[array.length];
      for(int i=0;i<array.length;i++){
          arr[i]=(Character)array[i];
      }
      Arrays.sort(arr, new Comparator<Character>(){
          @Override
          public int compare(Character c1, Character c2){
              return c2-c1;
          }
      });
      for(Character ch:arr){
          answer+=ch;
      }
      return answer;
  }
}
 

3. 결과

실행결과 🤟 성공 🤟

4. 설명

  1. 내림차순으로 정렬한다.
    • Arrays.sort에서 char형은 primitive로 안되서 Character형으로 바꿔야했다. 여기서 좀 헤맸다.

👏 해결 완료!

다 하고보니 그냥 Collections.reverse()하면 간단한 거였는데.. 노가다를 해버렸다.

참고