본문 바로가기

개발

[알고리즘 문제] 정수 내림차순으로 배치하기



http://tryhelloworld.co.kr/challenge_codes/118



( 문제 ) Level2


reverseInt 메소드는 int형 n을 매개변수로 입력받습니다.
n에 나타나는 숫자를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요.
예를들어 n이 118372면 873211을 리턴하면 됩니다.
n은 양의 정수입니다.



( 구현 - 자바 )


ReverseInt.java


public class ReverseInt {

public int reverseInt(int n){

String tmp = String.valueOf(n);

int[] arr = new int[tmp.length()];

for (int i = 0; i < tmp.length(); i++) {

arr[i] =  Integer.parseInt(tmp.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]){

int value = arr[j];

arr[j] = arr[j+1];

arr[j+1] = value;

}

}

}

                StringBuffer sb = new StringBuffer();

for (int i = 0; i < arr.length; i++) {

sb.append(arr[i]);

}

int result = Integer.parseInt(sb.toString());

    

return result;

}

  

// 아래는 테스트로 출력해 보기 위한 코드입니다.

public static void  main(String[] args){

ReverseInt ri = new ReverseInt();

System.out.println(ri.reverseInt(118372));

}

}



( 결과 출력 )


873211


실행시간: 83ms



맨 위로