
나의 풀이
import java.util.*;
class Solution {
public String solution(String s) {
String answer = "";
char[] c = s.toCharArray();
Arrays.sort(c);
String str = new String(c);
answer = new StringBuilder(str).reverse().toString();
return answer;
}
}
StringBuilder
기존 문자열(String)은 불변 특성을 가지므로 문자열을 변경할 때마다 새로운 객체를 생성해야 하지만, StringBuilder는 내부 버퍼를 사용하여 변경 작업을 효율적으로 처리
public class Main {
public static void main(String[] args) {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("문자열 ").append("연결");
// String str = stringBuilder; // String에 StringBuilder를 그대로 넣을 순 없다. toString()을 붙여야 한다
String str = stringBuilder.toString();
// 두 println()은 같은 값을 출력한다
System.out.println(stringBuilder);
System.out.println(str);
}
}
문자열이나 문자를 정렬할 때 Unicode(유니코드) 값을 기준으로 한다.
유니코드 값
- 대문자(A-Z): 65~90
- 소문자(a-z): 97~122
다른 사람의 풀이
import java.util.Arrays;
import java.util.Collections;
class Solution {
public String solution(String s) {
String answer = "";
String[] str = s.split("");
Arrays.sort(str, Collections.reverseOrder());
for(String a : str)
answer += a;
return answer;
}
}
'알고리즘' 카테고리의 다른 글
| [프로그래머스] 문자열 다루기 기본(Java) (0) | 2024.11.21 |
|---|---|
| [프로그래머스] 부족한 금액 계산하기(Java) (2) | 2024.11.19 |
| [프로그래머스] 약수의 개수와 덧셈(Java) (0) | 2024.11.17 |
| [프로그래머스] 내적(Java) (0) | 2024.11.16 |
| [프로그래머스] 수박수박수박수박수박수?(Java) (0) | 2024.11.15 |