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

Jiwoo·2024년 5월 13일
0

Java

목록 보기
4/25

📌 정수 내림차순으로 배치하기

https://school.programmers.co.kr/learn/courses/30/lessons/12933

문제 설명

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

제한 조건

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

입출력 예

n return
118372 873211
import java.util.Arrays;

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

        StringBuilder sb = new StringBuilder(); // 4
        for (String str : list) sb.append(str);

        return Long.parseLong(sb.reverse().toString()); // 5
    }
}
  1. String.valueOf(n) : long 타입의 숫자 문자열로 변환하는 메서드
  2. split("") : 문자열 한 글자씩 잘라서 배열에 넣는 메서드 (여기서는 숫자 한 자리씩 나눔)
  3. Arrays.sort(list) : 배열 정렬 메서드 (오름차순)
  4. StringBuilder sb = new StringBuilder() : 문자열 처리 클래스 (역순으로 만들기 위해 사용)
  5. StringBuilder로 만든 문자열 역순으로 하고, 다시 숫자로 변환

0개의 댓글