https://programmers.co.kr/learn/courses/30/lessons/12933
코딩테스트 연습 - 정수 내림차순으로 배치하기
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이
programmers.co.kr
기본틀
class Solution {
public long solution(long n) {
long answer = 0;
return answer;
}
}
첫번째시도
import java.util.Arrays;
import java.util.Collections;
class Solution {
public long solution(long n) {
String str = String.valueOf(n);
String[] arr = str.split("");
Arrays.sort(arr, Collections.reverseOrder());
// 배열에서 문자열 뽑아내기
String AnsStr = "";
for(int i = 0; i < arr.length; i++){
AnsStr = AnsStr + arr[i];
}
// 문자열을 정수로 바꾸기
long answer = 0;
answer = Long.parseLong(AnsStr);
return answer;
}
}
→ 받은 수 n 을 문자열로 바꾸기 - 문자열을 쪼개어 문자열 배열에 한글자씩 넣기 - 배열 내림차순 정렬
- 배열을 문자열로 바꾸기 - 문자열을 정수로 바꾸기
1. 정수 문자열로 바꾸기: String.valueOf()
2. 문자열 배열에 저장하기 https://bgm16.tistory.com/166
[Java] 문자열 배열에 저장하기
split() 메소드를 이용하여 문자열을 String 배열에 넣기 한 글자 씩 배열에 저장 String str = "hello"; String[] arr = str.split(""); 결과 : arr[0] = "h", arr[1] = "e" ... arr[4] = "o" 공백을 기준으..
bgm16.tistory.com
3. 배열 내림차순 정렬: Arrays.sort(배열명, Collections.reverseOrder())
4. 문자열 정수로 바꾸기: Long.parseLong(문자열)
성공!
사실 첫번째 시도라고는 하지만, 엄청 오래 안풀렸다
이유...는.... import 를 안해줘서 그랬던 것!!!!!!!
너무 어이가 없었다 변명을 해보자면 나는 import 이미 프로그래머스 프로그램에서 되어있는줄 알았고... 이클립스에서 혼자 돌렸다면 당연히 import 했겠지!!! 자꾸 Arrays.sort 쓰는데 에러떠서 짜증났다 구글링으로 답안 찾아봐서 그때서야 import 해줘야 하는 것 알았음...
앞으로는 import java.util.* 로 import 해주자~ 휴
'프로그래머스 > Lv.1' 카테고리의 다른 글
Lv.1 자릿수 더하기 (0) | 2022.05.26 |
---|---|
Lv.1 자연수 뒤집어 배열로 만들기 (0) | 2022.05.26 |
Lv.1 정수 제곱근 판별 (0) | 2022.05.25 |
Lv.1 제일 작은 수 제거하기 (0) | 2022.05.25 |
Lv.1 최대공약수와 최소공배수 (0) | 2022.05.24 |