티스토리 뷰

728x90
반응형

문제

 

배열을 정렬하는 것은 쉽다. 

수가 주어지면, 그 수의 각 자릿수를 내림차순으로 정렬해 보자.

 

입력

 

첫째 줄에 정렬하려고 하는 수 N이 주어진다. 

N은 1,000,000,000보다 작거나 같은 자연수이다.

 

출력

 

첫째 줄에 자릿수를 내림차순으로 정렬한 수를 출력한다.

 

풀이

 

문제를 잘못 읽었나 싶을 정도로 간단해서 글을 올릴까 말까 고민을 조금 했다.

 

주어진 입력을 문자열로 받아 char() 메서드를 이용해 아스키코드로 변경, 48씩 빼준 뒤에 박싱,

 

내림차순 정렬, 이후 다시 문자열로 바꿔 joining() 메서드를 이용해 합친 뒤 출력해 주었다.

 

사실상 한 줄짜리 문제.

import java.util.Comparator;
import java.util.Scanner;
import java.util.stream.Collectors;

public class Prob1427 {

    public static void main(String[] args) {
        
        Scanner sc = new Scanner(System.in);

        System.out.println(sc.next().chars()
                .map(a -> a - 48)
                .boxed()
                .sorted(Comparator.reverseOrder())
                .map(String::valueOf)
                .collect(Collectors.joining()));

    }
}
반응형

'Algorithm > [Java+Python+JavaScript]BackJoon' 카테고리의 다른 글

[BackJoon]10814번  (2) 2023.01.01
[BackJoon]11651번  (4) 2022.12.31
[BackJoon]11650번  (3) 2022.12.30
[BackJoon]2108번 카운팅 정렬로 풀기  (1) 2022.12.29
[BackJoon]10989번  (3) 2022.12.28
[BackJoon]2751번  (1) 2022.12.28
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함