https://school.programmers.co.kr/learn/courses/30/lessons/12933
n을 10씩 나눈 나머지를 계속 잘 보관해두었다가...
정렬한 후 다시 리턴하면 끝!
- Java
ArrayList를 이용하였다.
리턴값을 보낼 때는 Stringbuilder를 이용하여 쉽게 합쳐준 후 long 값으로 던져주었다.
import java.util.*;
class Solution {
public long solution(long n) {
ArrayList<Integer> aa = new ArrayList<>();
StringBuilder sb = new StringBuilder();
while(n>0) {
aa.add((int) (n%10));
n/=10;
}
Collections.sort(aa);
for(int i:aa) {
sb.append(i);
}
return Long.valueOf(sb.reverse().toString());
}
}
- Ruby
루비는 크게 문제가 되지 않았기 때문에 그냥 바로 정수로 넘겨주었다.
def solution(n)
a=[]
while(n>0)
a.append(n%10)
n=n/10
end
a.sort!
answer = 0
a.reverse_each{|aa|
answer=answer*10
answer=answer+aa
}
return answer
end
'Programmers > Java, Ruby' 카테고리의 다른 글
프로그래머스 Java / Ruby : 나머지가 1이 되는 수 찾기 (0) | 2022.10.07 |
---|---|
프로그래머스 Java / Ruby : 문자열을 정수로 바꾸기 (0) | 2022.10.06 |
프로그래머스 Java / Ruby : 하샤드 수 (0) | 2022.10.04 |
프로그래머스 Java : 문자열 내 p와 y의 개수 (0) | 2022.10.03 |
프로그래머스 Java / Ruby : 자연수 뒤집어 배열로 만들기 (0) | 2022.10.02 |