함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
n | return |
---|---|
118372 | 873211 |
https://school.programmers.co.kr/learn/courses/30/lessons/12933
import java.util.*;
class Solution {
public long solution(long n) {
String result = "";
String[] charList = String.valueOf(n).split("");
Arrays.sort(charList);
for (int i = charList.length - 1; i >= 0; i--){
result += charList[i];
}
return Long.valueOf(result);
}
}
import java.util.*;
class Solution {
public long solution(long n) {
String[] list = String.valueOf(n).split("");
Arrays.sort(list);
StringBuilder sb = new StringBuilder();
for (String aList : list) sb.append(aList);
return Long.parseLong(sb.reverse().toString());
}
}
String class | StringBuilder |
---|---|
문자열 수정할 때마다 새로운 문자열을 생성 | 내부적으로 문자열을 가변적으로 처리하여 문자열 수정 시 메모리 할당 및 복사 작업 최소화 |
@Test
public void stringBuilderTest() {
StringBuilder sb = new StringBuilder();
// 문자열 추가
sb.append("Hello");
// 문자열 삽입
sb.insert(5, " World");
// 문자열 수정
sb.replace(0, 5, "Hi");
// 문자열 삭제
sb.delete(2, 4);
assertEquals("Hiorld", sb.toString());
}