[알고리즘과 자료구조] JAVA - 정수 내림차순으로 배치하기

문제 설명

함수 solution은 정수 n을 매개변수로 입력받습니다.

n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.


제한 조건

n은 1이상 8000000000 이하인 자연수입니다.


입출력 예

입력 : 118372

출력 : 873211


소스 설명

1. 입력받은 정수를 문자열로 형변환한다.

2. 문자열을 배열로 삽입한다.

3. 배열을 오름차순으로 정렬한다.

4. 문자열을 더하기 위한 StringBuffer 생성

5. 내림차순으로 정렬 for~

6. Long 타입으로 변환하여 리턴

  1. class Solution {
  2. public long solution(long n) {
  3. long answer = 0;
  4. String str = String.valueOf(n); // 입력받은 정수를 문자열로 형변환
  5. char[] aa = str.toCharArray(); // 문자열을 배열로 삽입
  6. Arrays.sort(aa); // 오름차순으로 정렬
  7. StringBuffer sb = new StringBuffer(); // 문자열을 더하기 위한 stringBuffer 생성
  8. for( int i = aa.length-1; i>=0; i-- ) { // 내림차순으로 정렬
  9. sb.append(aa[i]);
  10. }
  11. answer = Long.parseLong(sb.toString()); // Long 타입으로 형변환 후 리턴
  12. return answer;
  13. }
  14. }
* 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
작성자 소개
최찬희 프로필
WrapUp 블로거

최찬희

반려견을 좋아하고, 차를 좋아하고, 여행을 좋아하고, 맛집을 찾아 즐기는 웹 개발자 입니다^^

댓글작성

관련 블로그 구경하기

작성자의 다른 포스팅