본문 바로가기
프로그래머스/[프로그래머스 - JAVA] Lv.1

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

by 코딩하는 흰둥이 2023. 3. 26.
반응형


 

  • 내 풀이
import java.util.*

class Solution {
    public long solution(long n) {
        long answer = 0;
        
        String[] check = String.valueOf(n).split("");
        List<String> reverse = new ArrayList<>(Arrays.stream(check).toList());

        Collections.sort(reverse);
        Collections.reverse(reverse);

        String sum = "";
        for (int i = 0; i < reverse.size(); i++) {
            sum += reverse.get(i);
        }
        answer = Integer.parseInt(sum);
        return answer;
    }
}

이번에도 마찬가지로 strem을 인식못한다 java8 을 지원안하는건지 잘 모르겠다

 

import java.util.*;

class Solution {
    public long solution(long n) {
        long answer = 0;
        
        String change = String.valueOf(n);
        List<String> check = new ArrayList<>();
        for (int i = 0; i < change.length(); i++) {
            check.add(String.valueOf(change.charAt(i)));
        }

        Collections.sort(check);
        Collections.reverse(check);

        String x = "";
        for (String a : check){
            x += a;
        }

	// Integer.parseInt 로 하면 answer 형이 long 이라서 테스트에 실패한다
        answer = Long.parseLong(x);
        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());
  }
}

다음에는 이 방법을 사용해봐야겠음 

댓글