TIL | [알고리즘] 정수 내림차순으로 배치하기(Java)

hyemin·2022년 3월 14일
0

알고리즘

목록 보기
24/38
post-thumbnail

THINKING

  1. long 타입 n을 String 타입 배열로 변환하기
    • split("") - 문자열을 잘라 배열로 저장시키는 메소드
  2. 배열을 내림차순으로 정렬하기 - Arrays.sort() + for문 index 역순으로 돌리기
  3. 배열을 다시 long타입으로 변환하기 - Long.parseLong();

내 풀이

import java.util.Arrays;

class Solution {
    public long solution(long n) {
        long answer = 0;
        String temp = "";
        
        String[] num = String.valueOf(n).split("");
        Arrays.sort(num);
        
        for (int i = num.length - 1; i >= 0; i--) {
            temp += num[i];
        }
        answer = Long.parseLong(temp);        
        return answer;
    }
}

다른 풀이

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());
  }
}
  1. long 타입 n을 String 타입 배열로 변환하기
    • split("") - 문자열을 잘라 배열로 저장시키는 메소드
  2. 배열을 정렬하기 - Arrays.sort()
  3. 배열을 돌면서 문자열 더하기
  4. 정렬순서 바꿔서(sb.reverse()) long타입으로 변환하기

참고 > StringBuilder

0개의 댓글