Programmers
[Level.2] 정수 내림차순으로 배치하기
llilliiillliill
2017. 12. 1. 16:18
문제
reverseInt 메소드는 int형 n을 매개변수로 입력받습니다.
n에 나타나는 숫자를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요.
예를 들어 n이 118372면 873211 을 리턴하면 됩니다.
n은 양의 정수 입니다.
풀이(Java)
public class ReverseInt { public int reverseInt(int n){ String numStr = String.valueOf(n); int [] arr = new int[numStr.length()]; int temp = 0; int result = 0; for(int i=0; i<numStr.length(); i++) { arr[i] = Integer.parseInt(numStr.substring(i, i+1)); } // 정렬 for(int i=0; i<arr.length; i++) { for(int j=0; j<arr.length-1; j++) { if(arr[j] < arr[j+1]) { temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } StringBuffer sb = new StringBuffer(); for(int i=0; i<arr.length; i++) { sb.append(arr[i]); } result = Integer.parseInt(sb.toString()); return result; } // 아래는 테스트로 출력해 보기 위한 코드입니다. public static void main(String[] args){ ReverseInt ri = new ReverseInt(); System.out.println(ri.reverseInt(118372)); } }