728x90
반응형
문제
정답 코드
import java.util.*;
class Solution {
public long solution(long n) {
long answer = 0;
//
// Long값인 n을 string으로 변경하여 배열에 한글자씩 담음
String[] array = String.valueOf(n).split("");
// 오름차순 정렬
Arrays.sort(array);
// 내림차순 정렬
String newstr = "";
for(int i = array.length-1; i>=0; i--)
newstr+=array[i];
// Long형으로 변환
answer = Long.parseLong(newstr);
//
return answer;
}
}
이번 문제는 어떻게 풀 지 알고리즘은 그려졌는데
어떤 걸 이용해야 할 지를 몰라서 구글링 도움을 많이 받았어요.
예를 들어서 오름차순 정렬을 해주는 sort나 long을 string으로 형변환해주는 valueOf처럼요.
sort에 내림차순을 하게 해주는 인자를 넣을 경우 아래와 같이 코드가 바뀝니다.
import java.util.*;
class Solution {
public long solution(long n) {
long answer = 0;
//
// Long값인 n을 string으로 변경하여 배열에 한글자씩 담음
String[] array = String.valueOf(n).split("");
// 내림차순 정렬
Arrays.sort(array, Collections.reverseOrder());
// 글자 합치기
String newstr = new String();
for(int i = 0; i<array.length; i++)
newstr+=array[i];
// Long형으로 변환
answer = Long.parseLong(newstr);
//
return answer;
}
}
728x90
반응형
'Computer Science (CS) > 알고리즘' 카테고리의 다른 글
[프로그래머스/Java] 하샤드 수 (0) | 2023.03.27 |
---|---|
[프로그래머스/Java] 문자열을 정수로 바꾸기 (0) | 2023.03.27 |
[프로그래머스/Java] 나머지가 1이 되는 수 찾기 (0) | 2023.03.26 |
[프로그래머스/Java] 문자열 내 p와 y의 개수 (0) | 2023.03.26 |
[프로그래머스/Java] 정수 제곱근 판별 (0) | 2023.03.26 |