[프로그래머스] 문자열 내림차순으로 배치하기 (JAVA)
업데이트:
문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
- 제한 조건
str은 길이 1 이상인 문자열입니다.
- 예시
풀이
import java.util.*;
class Solution {
public String solution(String s) {
String[] arr = new String[s.length()];
arr = s.split("");
Arrays.sort(arr, Comparator.reverseOrder());
String answer = "";
for(String a : arr){
answer += a;
}
return answer;
}
}
- 실행 결과
String으로는 문자끼리 비교를 할 수 없을 것 같아서 맨 처음에는 toCharArray()를 이용해
char자료형으로 바꾼 뒤 sort를 진행했다.
하지만 기본 자료형은 Comparator객체의 reverseOrder()메서드를 사용할 수 없어서 Integer배열로 받아야 하나 고민하다가 String 배열로 받아봤는데 알아서 내림차순 정렬이 됐다..
각 인덱스에 문자로 들어있으니까 알아서 char형태로 보고 비교하는 건가..?
공유하기
Twitter Google+ LinkedIn
댓글남기기