코딩테스트/Programmers

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

grove1212 2025. 2. 20. 09:44

 

1. 내 풀이 

string builder에 대해 완전히 이해하지 못한 모습이다.

import java.util.*;

class Solution {
    public long solution(long n) {
        long answer = 0;
        String str = String.valueOf(n);
        String []list = new String[str.length()];
        for(int i = 0; i<str.length(); i++){
            list[i] = String.valueOf(str.charAt(i) - '0');
        }
        
        Arrays.sort(list, (a, b) ->
	        b.charAt(0) - a.charAt(0)
        );
        StringBuilder sb = new StringBuilder();
        for(String ch : list){
            sb.append(ch);
        }
        answer = Long.parseLong(sb.toString());
        return answer;
    }
}

 

 

 

 

 

2. 다른 분 풀이

string builder에 대해 이해하고 reverse() 함수를 사용하신 모습이다.

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