PROGRAMMERS/연습문제

PROGRAMMERES Level 1 연습문제 정수 내림차순으로 배치하기(JAVA 자바)

c0mmedes 2022. 8. 26. 16:50
import java.util.*;

class Solution {
    public long solution(long n) {
        long answer = 0;
        //n 문자열로 만들어주기
        String nstr = n + "";
        
        //n을 배열로
        String arr[] = nstr.split("");
        
        // 내림차순
        Arrays.sort(arr, Comparator.reverseOrder());
        
        // join을 이용해서 배열을 문자열로 바꿔주고 Long.parseLong으로 String to long
        answer = Long.parseLong(String.join("", arr));
         
        return answer;
    }
}

.split() -> String to StringArray

String.join( , ) -> StringArray to String

Arrays.sort(arr, Comparator.reverseOrder()) - > 내림차순

Long.parseLong() -> String to long

 

 

 

 

StringBuilder 사용

import java.util.*;

class Solution {
    public long solution(long n) {
        long answer = 0;
        //n 문자열로 만들어주기
        String nstr = n + "";
        
        //n을 배열로
        String arr[] = nstr.split("");
        
        // 오름차순
        Arrays.sort(arr);
        
        StringBuilder sb = new StringBuilder();
        
        // sb에 오름차순 정렬된 arr배열 값 붙히기
        for(String s : arr) sb.append(s);

		// 뒤집어서 long 형으로 
        answer = Long.parseLong(sb.reverse().toString());
         
        return answer;
    }
}

Long.parseLong() -> String to long 
sb.reverse() -> 뒤집기