문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
문제 풀이
이 문제는 n을 각 자릿수마다 쪼개어 배열에 넣고 정렬하면 되는 문제입니다.
풀이 코드
1. Stream 활용
import java.util.*;
import java.util.stream.*;
class Solution {
public long solution(long n) {
return Long.parseLong(Arrays.stream(String.valueOf(n).split("")).sorted(Comparator.reverseOrder())
.collect(Collectors.joining()));
}
}
2. Collections.reverse를 활용
import java.util.*;
class Solution {
public String reverseStr(String str){
String[] array = str.split("");
Arrays.sort(array);
Collections.reverse(Arrays.asList(array));
return String.join("", array);
}
public long solution(long n) {
String s = Long.toString(n);
Long answer = Long.parseLong(reverseStr(s));
return answer;
}
}
<출처>
https://programmers.co.kr/learn/courses/30/lessons/12933?language=java
코딩테스트 연습 - 정수 내림차순으로 배치하기
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이
programmers.co.kr
반응형
'프로그래머스 > Level1' 카테고리의 다른 글
[프로그래머스][Java] 자릿수 더하기 (0) | 2022.02.08 |
---|---|
[프로그래머스][Java] 자연수 뒤집어 배열로 만들기 (0) | 2022.02.07 |
[프로그래머스][Java] 정수 제곱근 판별 (0) | 2022.02.05 |
[프로그래머스][Java] 제일 작은 수 제거하기 (0) | 2022.02.04 |
[프로그래머스][Java] 짝수와 홀수 (0) | 2022.02.03 |
댓글