문제 & 난이도
- 정렬
- 난이도 : 레벨2
풀이
package sorting;
import java.util.Arrays;
public class Programmers42746 {
public String solution(int[] numbers){
String answer = "";
String[] arr = new String[numbers.length];
//숫자를 문자열로 반환하여 배열에 저장
for(int i=0; i<numbers.length; i++){
arr[i] = Integer.toString(numbers[i]);
}
//문자열 내림차순 정렬
//o1+o2가 o2+o1보다 큰 경우 음수 반환 -> 자리 변화x
Arrays.sort(arr, (o1,o2)-> -(o1+o2).compareTo(o2+o1));
//문자 붙이기
for (String s : arr) {
answer += s;
}
//배열 요소가 모두 0인 경우☆
if(answer.charAt(0) == '0'){
answer = "0";
}
return answer;
}
}
알게 된 것 & 느낀 점
처음으로 풀어본 프로그래머스 문제다. 백준은 처음부터 끝까지 코드를 짜야하는데 프로그래머스는 상황을 설명해 준 뒤, 포괄적인 틀을 주고 안의 세부적인 내용을 구현하라고 한 점이 신기했다.
문제의 핵심적인 부분을 중점적으로 알 수 있어서 좋은 듯
또, 테스트 케이스마다 검사하는 부분이 달라서 특정 케이스에서 막힐 경우 다른 사용자들의 풀이를 보며 익혀야 할 부분을 찾을 수 있다는 점이 프로그래머스의 장점이라고 느껴진다.
sort를 이번으로 3-4번째 사용해 보는 만큼 더욱 간결하게 문장으로 나타낼 수 있었다. 하루하루 빠짐없이 문제 풀자 파이팅!
'Coding Test > programmers' 카테고리의 다른 글
[프로그래머스/Java] 42747번 - H-Index (1) | 2024.09.26 |
---|---|
[프로그래머스/Java] 42626번 - 더 맵게 (0) | 2024.09.25 |