문제가 복잡하지 않아서 만만하게 봤다가 꽤나 시간이 걸렸다.
처음에 숫자를 문자로 변환하는 방법을 생각하지 못하고 삽질을 하다가
다른분들의 코드를 보고 Comparator 인터페이스를 이용해서 풀었다.
최종 코드
import java.util.Arrays;
import java.util.Comparator;
class Solution {
public String solution(int[] numbers) {
StringBuilder sb = new StringBuilder();
// 숫자를 문자열로 변환
String[] temp = new String[numbers.length];
for(int i=0; i<numbers.length; i++) {
temp[i] = Integer.toString(numbers[i]);
}
// 정렬 comparator를 이용해서 비교
Arrays.sort(temp, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return ((o2 + o1).compareTo(o1 + o2));
}
});
// 0이 여러개일경우 0으로 리턴
if(temp[0].equals("0")) {
return "0";
}
for(int i=0; i<temp.length; i++) {
sb.append(temp[i]);
}
return sb.toString();
}
}
'코딩 테스트' 카테고리의 다른 글
(Java) 프로그래머스 피보나치 수 (0) | 2021.10.19 |
---|---|
(Java) 프로그래머스 JadenCase (0) | 2021.10.19 |
(Java) 프로그래머스 행렬 테두리 회전하기 (0) | 2021.10.17 |
(Java) 프로그래머스 더 맵게 (0) | 2021.10.17 |
(Java) 프로그래머스 기능 개발 (0) | 2021.10.17 |