반응형
문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
str은 길이 1 이상인 문자열입니다.
입출력 예
s | return |
"Zbcdefg" | "gfedcbZ" |
import java.util.Arrays;
class Solution {
public String solution(String s) {
String answer = "";
char[] charArr = s.toCharArray();
char[] res = new char[s.length()];
int idx = 0;
Arrays.sort(charArr);
for(char c : charArr) System.out.print(c + " ");
for(int i=charArr.length-1; i>=0; i--) {
res[idx++] = charArr[i];
}
answer = new String(res);
return answer;
}
}
public static String solution(String s) {
String answer = "";
char[] charArr = s.toCharArray(); // String을 char배열로 변환
char[] res = new char[s.length()]; // 내림차순 정렬 결과 담을 배열
int idx = 0;
Arrays.sort(charArr); // 오름차순 정렬 - 원본 변경됨
for(char c : charArr) System.out.print(c + " ");
for(int i=charArr.length-1; i>=0; i--) { // charArr 마지막 원소부터 하나씩 저장
res[idx++] = charArr[i];
}
System.out.println("\n");
for(char c : res) System.out.print(c + " ");
System.out.println("\n");
answer = new String(res);
System.out.println("answer : " + answer);
return answer;
}
반응형
'코딩테스트 > JAVA' 카테고리의 다른 글
[프로그래머스/JAVA] 가운데 글자 가져오기 (1) | 2024.04.17 |
---|---|
[프로그래머스/JAVA] 두 정수 사이의 합 (1) | 2024.04.17 |
[프로그래머스/JAVA] 문자열을 정수로 바꾸기 (1) | 2024.04.17 |
[프로그래머스/JAVA] 나누어 떨어지는 숫자 배열 (1) | 2024.04.17 |
[프로그래머스/JAVA] 문자열 내 p와 y의 개수 (1) | 2024.04.17 |