728x90
문제 요약
문자열의 문자를 큰 문자부터 작은 문자 순으로 정렬하는 문제이다.
대문자는 소문자보다 작은 것으로 처리된다.
즉:
- 소문자 > 대문자
- 내림차순 정렬 수행
접근 방법
문자열은 직접 정렬할 수 없기 때문에:
- split("")으로 문자열 분리
- Arrays.sort() 사용
- Collections.reverseOrder()로 내림차순 정렬
- StringBuilder로 다시 문자열 합치기
방식으로 해결했다.
핵심 아이디어
문자열 정렬에서 가장 중요한 부분은:
Collections.reverseOrder()
이 메서드는 객체 타입만 가능하다는 점이다.
따라서:
char[]
대신
String[]
배열로 처리해야 한다.
전체 코드
package level1;
import java.util.Arrays;
import java.util.Collections;
public class No27 {
public static void main(String[] args) {
String s = "Zbcdefg";
String[] arr = s.split("");
Arrays.sort(arr, Collections.reverseOrder());
StringBuilder sb = new StringBuilder();
for(String str : arr){
sb.append(str);
}
System.out.println(sb);
}
}
정리
이 문제는 문자열 정렬 기본기를 확인하는 문제였다.
특히:
- 문자열 → 배열 변환
- Arrays.sort 사용법
- reverseOrder 제약사항
을 같이 익힐 수 있는 문제였다.
최종 핵심 요약
- 문자열은 직접 정렬 불가능
- split("")으로 배열 변환 필요
- 내림차순은 Collections.reverseOrder()
- reverseOrder()는 객체 타입만 가능
728x90
'코테(Solved.ac + Programmers)' 카테고리의 다른 글
| 프로그래머스 행렬의 덧셈 JAVA 풀이 (2차원배열, 구현) (0) | 2026.05.14 |
|---|---|
| 프로그래머스 문자열 다루기 기본 JAVA 풀이 (문자열, 구현) (0) | 2026.05.14 |
| 프로그래머스 가운데 글자 가져오기 JAVA 풀이 (문자열, substring) (0) | 2026.05.12 |
| 프로그래머스 약수의 개수와 덧셈 (JAVA) (0) | 2026.05.12 |
| 프로그래머스 제일 작은 수 제거하기 JAVA 풀이 (알고리즘, 시간복잡도) (0) | 2026.05.10 |