본문 바로가기

Java/코딩테스트

[java/프로그래머스/12917] 문자열 내림차순으로 배치하기 (StringBuilder, reverse())

✏️ 문제 설명

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.


✏️ code

🖥️ StringBuilder 주요 메서드
[추가]
- append(String s): 문자열 끝에 추가
- insert(int offset, String s): 특정 위치에 문자열 삽입

[수정/삭제]
- replace(int start, int end, String s): 지정된 범위를 새로운 문자열로 변경
- delete(int start, int end): 지정된 범위의 문자열 삭제
- deleteChatAt(int index): 특정 인덱스의 문자 하나 삭제

[검색]
- charAt(int index): 특정 인덱스의 문자 반환
- indexOf(String s): 특정 문자열의 첫 번째 위치 반환
- lastIndexOf(String s): 특정 문자열의 마지막 위치 반환

[변환]
- substring(int start, int end): 특정 범위의 문자열 반환
- toString(): String 객체로 변환

[기타]
- reverse(): 문자열 뒤집음
- length(): 문자열의 길이 반환
- capacity(): 내부 버퍼 크기 반환
- setLength(int newLength): 문자열 길이를 지정 (길이 줄이면 뒷부분 삭제)
import java.util.*;

class Solution {
    public String solution(String s) {
        char[] arr = s.toCharArray();
        Arrays.sort(arr);
        StringBuilder sb = new StringBuilder(new String(arr));
        return sb.reverse().toString();
    }
}
반응형