Algorithm 문자열 내림차순으로 배치하기

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

algo

입력된 문자열 내림차순으로 배치하여라.

  • 입력된 문자를 큰것부터 작은 순으로 정렬해 새로운 String을 리턴해주세요.

방법1. List로 변경한 후에 reverse하기

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
28
29
30
31
32
package reversestr;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class ReverseStr {
public String reverseStr(String str) {

String answer = "";
String[] arr = str.split("");

// 방법 1.
Arrays.sort(arr);
List<String> inarr = Arrays.asList(arr);
Collections.reverse(inarr);
arr = inarr.toArray(new String[inarr.size()]);

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

return answer;
}

// 아래는 테스트로 출력해 보기 위한 코드입니다.
public static void main(String[] args) {
ReverseStr rs = new ReverseStr();
System.out.println(rs.reverseStr("Zbcdefg"));
}
}

방법2. 정렬할 때 한번에 reverse하기

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
28
29
30

package reversestr;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class ReverseStr {
public String reverseStr(String str) {

String answer = "";
String[] arr = str.split("");

// 방법 2. 정렬을 하고 역순으로 배치를 하라.
Arrays.sort(arr, Collections.reverseOrder());

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

return answer;
}

// 아래는 테스트로 출력해 보기 위한 코드입니다.
public static void main(String[] args) {
ReverseStr rs = new ReverseStr();
System.out.println(rs.reverseStr("Zbcdefg"));
}
}

Share