반응형
1. 문제 설명
- 함수 solution은 정수 n을 매개변수로 입력받습니다.
- n의 각 자릿수를 큰 것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요.
- 예를들어 n이 118372면 873211을 리턴하면 됩니다.
2. 제한 조건
- n은 1이상 8000000000 이하인 자연수입니다.
3. 입출력 예
n | return |
118372 | 873211 |
4. 문제 풀이 코드
import java.util.*;
class Solution {
public long solution(long n) {
long answer = 0;
String[] str = String.valueOf(n).split("");
Arrays.sort(str);
Collections.reverse(Arrays.asList(str));
answer = Long.parseLong(String.join("", str));
return answer;
}
}
- 정수 각 자릿수가 큰 순서대로 정렬한 코드입니다.
- 먼저 String 배열을 선언하여 파라미터로 받은 정수 n의 각 자릿수를 배열에 하나씩 넣었습니다.
- for문을 생성하지 않고, split 함수를 통해 배열에 넣은 코드입니다.
- 그 다음 Arrays.sort()를 활용하여 배열을 오름차순으로 정렬했습니다.
- 정렬된 배열을 reverse()를 사용하여 내림차순으로 정렬했습니다.
- 마지막으로 join 함수를 사용하여 하나의 String으로 만들었고, 만든 String을 다시 정수로 변환했습니다.
- 이렇게 변환된 answer를 return 해주면 문제가 끝납니다.
이상으로 프로그래머스 Level 1. 정수 내림차순으로 배치하기 문제를 JAVA 언어로 풀어보았습니다.
반응형
'Web Developer's Story > PROGRAMMERS' 카테고리의 다른 글
[프로그래머스] Level 1. 로또의 최고 순위와 최저 순위 (Javascript) (0) | 2021.11.10 |
---|---|
[프로그래머스] Level 1. 이상한 문자 만들기 (JAVA) (0) | 2020.09.16 |
[프로그래머스] Level 1. 행렬의 덧셈 (JAVA) (0) | 2020.09.08 |
[프로그래머스] Level 1. 직사각형 별찍기 (JAVA) (0) | 2020.09.06 |
[프로그래머스] Summer/Winter Coding(~2018) 예산 (JAVA) (2) | 2020.08.31 |