프로그래머스 [JAVA] :: 정수 내림차순으로 배치하기

smi·2023년 1월 28일
0

📚 문제 정의

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


📝 제한사항

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

📝 입출력 예

nreturn
118372873211

💡 코드

import java.util.*;

class Solution {
    public long solution(long n) {
        StringBuffer sb = new StringBuffer();
        int temp[] = new int[String.valueOf(n).length()];
        
        for(int i = 0; i < String.valueOf(n).length(); i++) {
            temp[i] = (String.valueOf(n)).charAt(i) - '0';
        }
        
        Arrays.sort(temp);
        
         for(int j = temp.length - 1; j > -1; j--) {
            sb.append(temp[j]);
        }
        
        return Long.parseLong(sb.toString());
    }
}

숫자 하나하나 떼어놓으려고 형변환 했음

💡 다른 코드

import java.util.*;

class Solution {
  public long solution(long n) {
        String[] list = String.valueOf(n).split("");
        Arrays.sort(list);

        StringBuilder sb = new StringBuilder();
        for (String aList : list) sb.append(aList);

        return Long.parseLong(sb.reverse().toString());
  }
}

내 코드에서 엄청 깔끔한 버전 같다... 특히 숫자 하나하나 띄우는 부분을 잘 알고 있으면 좋을 듯

profile
공부한 거 올려요 :)

0개의 댓글