코테/프로그래머스

[프로그래머스/Lv. 1] 정수 내림차순으로 배치하기

imname1am 2023. 2. 18. 16:28
반응형

내 코드

import java.util.*;

class Solution {
    public long solution(long n) {
        long answer = 0;
        
        String[] str = Long.toString(n).split("");
        
        Arrays.sort(str, Collections.reverseOrder());
        
        String hi = "";
        
        for(String s : str) {
            hi += s;
        }
        
        answer = Long.parseLong(hi);
        
        return answer;
    }
}

일단 숫자를 문자열 배열로 만들고, (7번째 줄)

얘를 내림차순으로 정렬하고, (9번째 줄)

 

내림차순으로 된 문자열 배열을 문자열로 만들고, (11-15번째 줄)

이 문자열을 Long형으로 변환하면 된다. (17번째 줄)


다른 코드

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

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());
  }
}

StringBuilder를 이용하셨다.


(참고)

Arrays.sort(str, Collections.reverseOrder()); : 배열 내림차순 정렬

 

Java - 배열 정렬(Sorting) (오름차순, 내림차순)

Arrays.sort()을 이용하면 쉽게 배열(Array)을 내림차순, 오름차순으로 정렬(sorting)할 수 있습니다. Integer, String 등 구분없이 모든 객체를 정렬할 수 있습니다. 또한, 클래스에 Comparable을 구현하면 객체

codechacha.com

 

반응형