728x90
반응형
[문제 링크]
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
[문제]

📍 [코드]
import java.util.*;
class Solution {
public long solution(long n) {
char[] arr = String.valueOf(n).toCharArray();
Arrays.sort(arr);
//내림차순 위해
//StringBuilder -> 수정 가능한 String
StringBuilder sb = new StringBuilder(new String(arr));
sb.reverse();
return Long.parseLong(sb.toString());
}
}
💡 접근법
String.valueOf(n): Long 타입 n을 String으로 변환toCharArray(): String 타입 n을 Char 타입으로 변환Arrays.sort(): Char 타입 배열이므로 sort() 사용하여 오름차순 정렬StringBuilder사용하여 수정 가능하게 만든 후,reverse(): 역으로 정렬 ➡️ 내림차순 정렬Long.parseLong(): Long 타입 변환toString(): StringBuiler 객체 내용을 String으로 변환하여 보여줌
✅ StringBuilder을 사용하여 손 쉽게 내림차순 정렬을 할 수 있음
💬 마무리
StringBuilder은 처음 사용해보는 것 같은데 큰 장점이 있는 것 같다.
String의 경우 한글자씩 수정하는 것이 불가능하다. (즉, 불변객체)
하지만, 이를 가능하게 하는 것이 StringBuilder이다. 쉽게 말해서 문자열을 다룰 때 수정 가능한 String이다.
아래와 같이 손쉽게 수정할 수 있으므로 익혀두는 것이 좋을 것 같다.
📚 StringBuilder 예시
StringBuilder sb = new StringBuilder("hello");
// 문자 추가
sb.append(" world"); // "hello world"
// 문자 삽입
sb.insert(5, " JAVA"); // "hello JAVA world"
// 문자 삭제
sb.delete(5, 10); // "hello world"
// 문자 교체
sb.setCharAt(0, 'H'); // "Hello world"
// 뒤집기
sb.reverse(); // "dlrow olleH"
// 문자열로 변환
String result = sb.toString();
728x90
반응형
'💻코딩 > 💡Programmers' 카테고리의 다른 글
| [프로그래머스|JAVA] 주차 요금 계산 | TreeMap과 Map.merge 활용 🚗 | 시간 계산 아이디어 & 코드 분석 📚 (0) | 2025.10.28 |
|---|---|
| [프로그래머스|JAVA] 롤케이크 자르기 | Set과 Map 사용 ⭕️ | Set 과 Map 특징 및 시간 복잡도 비교 | 실패한 코드도 같이..📚 (0) | 2025.09.08 |
| [프로그래머스|JAVA] 서버 증설 횟수 📈 | 배열 활용 | 쉬운 코드 ⭕️ (0) | 2025.08.25 |
| [프로그래머스|JAVA] K번째 수 | 정렬 | List 활용 📚 (1) | 2025.08.25 |
| [프로그래머스|JAVA] 시저 암호 | 🌐 아스키코드 값 (유니코드) 활용 | 간단 코드 (1) | 2025.08.25 |
