반응형
문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
- n은 1이상 8000000000 이하인 자연수입니다.
생각
각 자리수를 내림차순으로 배치하려면 split이 필요하다. 하지만 숫자를 split() 함수를 쓸 수는 없으므로, String형으로 먼저 바꿔줘야한다! 어디선가 꿀팁을 배웠는데, 만약 int n = 3이 있으면 String n_toString = "" + n 으로 하면 순식간에 String형으로 바뀐다!!
String으로 바꾼 후, 각 자릿수를 분리하고 정렬을 해준다. 후에 for문으로 10의 거듭제곱형태로 곱해가며 원래 수를 만들며 된다! 여기서 주의할 점은 n은 8000000000 (80억) 이하이다. 이러면 answer의 데이터 타입도 long으로 해야하는 것을 주의해야 한다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
class Solution {
public long solution(long n) {
long answer = 0;
String a = "" + n;
String[] a1 = new String[a.length()+1];
a1 = a.split("");
for(int i=0; i<a1.length; i++) {
}
return answer;
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
|
시험기간이다... 1일 1포스팅을 목표로 했고, 아직 풀어둔 문제가 남아 글을 더 쓰고 싶지만 프로젝트와 시험공부로 인해 당분간은 매일 글을 쓰지는 못할 것 같다.. ㅠㅠㅠㅠㅠㅠ 2일 1포스팅이라도 노력해야면서 써야겠다.
반응형
'알고리즘 > 코딩 - 프로그래머스' 카테고리의 다른 글
[Java][프로그래머스][Level 1] 최대공약수와 최소공배수 (1) | 2019.04.30 |
---|---|
[Java][프로그래머스][Level 1] 제일 작은 수 제거하기 (0) | 2019.04.12 |
[Java][프로그래머스][Level 1] 자연수 뒤집어 배열로 만들기 (0) | 2019.04.09 |
[Java][프로그래머스][Level 1] 자릿수 더하기 (0) | 2019.04.07 |
[Java][프로그래머스][Level 1] 이상한 문자 만들기 (0) | 2019.04.06 |