프로그래머스 level 1 : 정수 내림차순으로 배치하기
- 문제설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
- 제한조건
n은 1이상 8000000000 이하인 자연수입니다.
- 입출력 예
문제풀이
class Solution {
public long solution(long n) {
long answer = 0;
String nstr = String.valueOf(n);
char [] narr = nstr.toCharArray();
char temp;
for (int i=0; i<narr.length-1; i++){
for(int j=i+1; j<narr.length; j++){
if(narr[i] < narr[j]){
temp = narr[i];
narr[i] = narr[j];
narr[j] = temp;
}
}
}
nstr = "";
for(int i=0; i<narr.length; i++){
nstr +=narr[i];
}
answer = Long.parseLong(nstr);
return answer;
}
}
풀이설명
String.valueOf() 메소드를 사용하여 파라미터로 넘어온 정수를 String형으로 변환 후 toCharArray() 메소드를 사용하여 배열에 담는다.
sorting을 위해 char형 변수를 선언 후 이중for문을 사용하여 배열을 정렬한다.
정렬한 배열의 값을 String 변수에 값을 넣어준 후 Long.parseLong()함수를 사용하여 long형으로 변환 후 리턴한다.
'문제풀이 > programmers' 카테고리의 다른 글
[프로그래머스] 수박수박수박수박수박수? - Java (0) | 2021.09.15 |
---|---|
[프로그래머스] 가운데 글자 가져오기 - Java (0) | 2021.09.15 |
[프로그래머스] 문자열 내림차순으로 배치하기 - Java (0) | 2021.09.15 |
[프로그래머스] 제일 작은 수 제거하기 - Java (0) | 2021.09.15 |
[프로그래머스] 같은 숫자는 싫어 - Java (0) | 2021.09.15 |