본문 바로가기
📟 Computer science/Algorism

[프로그래머스] Lv1. 정수 내림차순으로 배치하기 (자바)

by 깸뽀 2022. 9. 25.
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12933

 


 

💡 Key

   - String.valueOf(): String으로 변환

   - toCharArray(): 문자열을 char형 배열로 변환

   - Array.sort(): 오름차순

   - reverse(): 문자열을 뒤집는 메서드

   - StringBuilder: 문자열 합치기

   - Collections.reverseOrder(): Collection 클래스의 내림차순

 

 

🔑 Code01

* 제한사항

1. 값을 String으로 변환 후 내림차순 으로 정렬하고 return값을 정수 타입으로 변환해야겠다고 생각함

1
2
3
4
5
6
7
8
9
10
11
12
   public long solution(long n) {
        String[] str = String.valueOf(n).split(""); // n을 string으로 변환
        Arrays.sort(str, Collections.reverseOrder()); // 내림차순
        StringBuilder sb = new StringBuilder(); 
 
        for(String result : str) {
            sb.append(result); // 문자열 합치기
        }
 
        return Long.parseLong(sb.toString()); // Long타입으로 변경
    }
 
cs

🔑 Code02

1
2
3
4
5
6
7
8
    public long solution2(long n) {
        String str = String.valueOf(n); //n을 string으로 변환
        char[] chars = str.toCharArray();// 문자열을 문자로 변환하여 array에 저장
        Arrays.sort(chars); //오름차순 후
        String sb = new StringBuilder(new String(chars)).reverse().toString(); //내림차순 해준다
 
        return Long.parseLong(sb);//long 타입으로 변환
    }
cs
728x90

댓글