[프로그래머스] 정수 내림차순으로 배치하기 (JAVA)
업데이트:
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다.
n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요.
예를들어 n이 118372면 873211을 리턴하면 됩니다.
- 제한 조건
n은 1이상 8000000000 이하인 자연수입니다.
- 예시
풀이
import java.util.*;
class Solution {
public long solution(long n) {
String[] arr = String.valueOf(n).split("");
Arrays.sort(arr,Collections.reverseOrder());
String answer = "";
for(String a : arr){
answer += a;
}
return Long.parseLong(answer);
}
}
String.valueOf(a); -> 숫자 자료형 String 타입으로 변경하기.
Long.parseLong(a); -> String자료형에서 Long자료형으로 변경하기.
우선 long자료형인 정수 n을 String으로 변경한 후 하나씩 잘라서 배열에 넣는다.
그 후 Arrays.sort메서드를 이용해 Collections.reverseOrder()로 배열을 내림차순으로 정렬한다.
정렬 후 바로 Long 타입에 데이터를 하나씩 담게되면 총 합이 나오기 때문에
먼저 String에 데이터를 누적시킨 후, String을 Long 타입으로 변환시켜 반환한다.
공유하기
Twitter Google+ LinkedIn
댓글남기기