코딩테스트

[프로그래머스/Java] 문자열 내림차순으로 배치하기 (StringBuilder 개념)

데메즈 2026. 7. 7. 12:33
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/12917

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

1. s.toCharArray()

String을 순수한 문자 배열인 char[] 로 변환

 

2. Arrays.sort(charArray)

기본적으로 오름차순(작은것 -> 큰것) 정렬

import java.util.Arrays;

 

3. StringBuilder

// 1. 선언하기
StringBuilder sb = new StringBuilder();

// 2. 뒤에 문자열/문자 추가하기 (append)
sb.append("Java");
sb.append("!");
System.out.println(sb); // 출력 : Java!

// 3. 문자열 거꾸로 뒤집기 (reverse)
sb.reverse();
System.out.println(sb); // 출력 : !avaJ

// 4. 일반 String으로 바꾸기 (toString)
String result = sb.toString();

 

3-1. sb.insert(인덱스, 문자열) : 원하는 위치에 끼워넣기

StringBuilder test = new StringBuilder("AC");
test.insert(1, "B");
// 결과 : "ABC"

 

3-2. sb.deleteCharAt(인덱스) : 특정 위치 한 글자만 지우기 (마지막 글자 지울 때 유용)

test.deleteCharAt(test.length() -1); // 맨 뒤 글자 삭제

 

 

 

import java.util.Arrays;

class Solution {
    public String solution(String s) {
        
        // 1. String을 char 배열로 쪼갠다
        char[] charArray = s.toCharArray();
        
        // 2. 오름차순으로 정렬
        Arrays.sort(charArray);
        
        // 3. 정렬된 배열을 바탕으로 StringBuilder 만든다
        StringBuilder sb = new StringBuilder(new String(charArray));
        
        // 4. 오름차순 정렬된 것을 뒤집으면 내림차순
        return sb.reverse().toString();
        
    }
}
반응형