문제
조건
정답
import java.util.Arrays;
import java.util.Collections;
class Solution {
public long solution(long n) {
long answer = 0;
String[] str = Long.toString(n).split("");
Arrays.sort(str, Collections.reverseOrder());
String strNum = "";
for(String s : str) {
strNum += s;
}
answer = Long.parseLong(strNum);
return answer;
}
}
후기
전부 for 문으로 돌리려고 하다가 그럼 정렬은 어떡하지 라는 생각에 바로 구글 검색했다
Long.toString(n).split("")
=> long 타입으로 받아온 n 을 문자로 나누어주는 함수이다
Arrays.sort(str, Collections.reverseOrder())
=> Arrays.sort() 는 배열의 오름차순, 내림차순을 해주는 메서드다
Arrays.sort(str) 만 넣었을 때는 오름차순,
위에 내용처럼 두번째 매개변수에 Collections.reverseOrder() 를 넣어주면 내림차순 해준다
두 개 모두 import 가 필요한 클래스 메서드이니 꼭 넣어줘야 한다
Long.parseLong(strNum)
=> 바로 반환하려고 하니까 타입 오류로 인해 추가한 코드다
for 문으로 돌려서 String 타입 변수에 넣었던 값을 다시 long 타입으로 형변환해줬다
'코딩 테스트 연습 > 알고리즘' 카테고리의 다른 글
[ 코딩 테스트 ] 두 정수 사이의 합 (0) | 2024.05.10 |
---|---|
[ 코딩 테스트 ] 하샤드 수 (0) | 2024.05.09 |
[ 코딩 테스트 ] 정수 제곱근 판별 (0) | 2024.05.02 |
[ 코딩테스트 ] 문자열을 정수로 바꾸기 (0) | 2024.05.02 |
[ 코딩 테스트 ] 자연수 뒤집어 배열로 만들기 (0) | 2024.05.01 |