https://github.com/pulunick/programmers-and-baekjun/blob/main/Quiz12933.java
1. 코드
// 접근 방법 : 내림차순 정렬은 String형으로 쉽게 가능하다.
static class Solution4 {
public long solution4(long n) {
// String 형으로 변환 후 String 배열에 split을 이용해 집어넣는다.
// String s = String.valueOf(n);
// String[] ss = s.toString().split("");
// 위 코드를 한줄로 표현 가능하다.
String[] ss = String.valueOf(n).split("");
// Collections.reversOrder()를 이용해 내림차순 정렬
// int형의 경우 Arrays.stream(arr).boxed().toArray(Integer[]::new);을 통해 Integer타입
// 배열로 변경해 줘야 한다.
Arrays.sort(ss, Collections.reverseOrder());
// StringBuilder의 append를 활용
StringBuilder sb = new StringBuilder();
for(String name : ss) {
sb.append(name);
}
// String str = sb.toString();
// long형으로 형변환 + toString을 통해 메소드를 재정의
long answer = Long.parseLong(sb.toString());
return answer;
}
}
2. 미흡한 점
- 한줄로 줄일 수 있던 코드를 더 줄이지 않았다.
- 처음 접근 방식을 long형이기에 int[]로 잡았는데 String[]으로 잡는 것이 훨씬 편했다
- String은 자바에서 가장 유연하기 때문.
- StringBuilder에 대한 공부가 더 필요하다.
'개발자 > 프로그래머스' 카테고리의 다른 글
[SQL] 프로그래머스 상위 n개 레코드 / rownum 활용 (0) | 2022.12.13 |
---|---|
자바_프로그래머스_두 정수 사이의 합 (0) | 2022.11.23 |
자바_프로그래머스_하샤드 수 (0) | 2022.11.23 |
자바_프로그래머스_문자열 내의 p와y의개수 (0) | 2022.11.22 |
자바_프로그래머스_정수 제곱근판별 (0) | 2022.11.21 |