https://programmers.co.kr/learn/courses/30/lessons/12917
[문제]
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
[제한 조건]
str은 길이 1 이상인 문자열입니다.
[코드]
import java.util.*;
class Solution {
public String solution(String s) {
String answer="";
Character[] arr=new Character[s.length()];
// 문자열의 문자마다 잘라 배열에 저장
for(int i=0;i<s.length();i++) {
char ch=s.charAt(i);
arr[i]=ch;
}
// 문자열 s 역순 정렬
Arrays.sort(arr,Collections.reverseOrder());
for(int i=0;i<arr.length;i++)
answer+=arr[i];
return answer;
}
}
[고찰]
이번 문제는 배열에 저장된 데이터를 역순으로 정렬해주는 Collections.reverseOrder() 함수를 알고 있다면 쉽게 해결할 수 있는 문제였다. 이때 해당 함수를 사용하기 위해서는 arr 배열이 char가 아닌 Character 자료형으로 선언되어야 한다는 점은 주의해야 한다.
'프로그래머스' 카테고리의 다른 글
[프로그래머스_Level1] 문자열 내 마음대로 정렬하기 (0) | 2021.07.15 |
---|---|
[프로그래머스_Level1] 문자열 내 p와 y의 개수 (0) | 2021.07.15 |
[프로그래머스_Level1] 문자열 다루기 기본 (0) | 2021.07.13 |
[프로그래머스_Level1] 서울에서 김서방 찾기 (0) | 2021.07.13 |
[프로그래머스_Level1] 소수 찾기 (0) | 2021.07.13 |