728x90
import java.util.Arrays;
class Solution {
public String solution(String s) {
char[] char_arr = s.toCharArray();
Arrays.sort(char_arr);
String str = new String(char_arr);
String answer = "";
int len = str.length();
for(int i=0;i<len;i++){
answer += str.charAt(len-i-1);
}
return answer;
}
}
1. 정렬할 문자열을 toCharArray()를 이용해 char 배열로 변환
2. Arrays.sort()로 문자 배열을 오름차순으로 정렬
3. 정렬한 문자 배열을 문자열 str로 변환
4. str을 거꾸로 대입하여 내림차순 정렬로 만든 문자열 answer
- 다른 사람 풀이 참고
- StringBuilder: 변경할 수 없는 String과 달리 기존의 데이터를 변경가능
StringBuilder sb = new StringBuilder("aaa"); //선언할 때 문자열 바로 넣을 수 있음
//주요 메서드
sb.append("ABC"); //문자열 더하기
sb.insert(int offset, String str); //ofset 위치에 str 추가
sb.replace(int start, int end, String str); //start부터 end-1까지의 내용을 str로 대체
sb.deleteCharAt(int index); //인덱스에 위치한 문자 삭제
sb.delete(int start, int end); //start에서 end-1까지의 문자 삭제
sb.reverse(); //해당 문자 전체를 뒤집음
sb.setCharAt(int index, String s); //인덱스 위치의 문자를 s로 변경
sb.setLength(int len); //문자열 길이 조정. 공백으로 채우거나 삭제
sb.substring(int start, (int end)); //start부터 end-1까지 인덱싱. end는 생략 가능
sb.toString(); //String으로 변환
System.out.println(sb);
- 코드 수정
import java.util.Arrays;
class Solution {
public String solution(String s) {
char[] char_arr = s.toCharArray();
Arrays.sort(char_arr);
String answer = new StringBuilder(new String(char_arr)).reverse().toString();
return answer;
}
}
'알고리즘 > 코딩 테스트 문제' 카테고리의 다른 글
[프로그래머스] 카드 뭉치(Java) (0) | 2023.10.11 |
---|---|
[프로그래머스] [1차] 비밀지도(Java) (0) | 2023.10.11 |
[프로그래머스] OX퀴즈(C) (0) | 2023.09.26 |
[프로그래머스] 다항식 더하기(C) (0) | 2023.09.25 |
[프로그래머스] 등수매기기(C) (0) | 2023.09.21 |