[Cording Test] 프로그래머스 - 가장 큰 수 (정렬)
2019. 8. 1. 18:57ㆍGo to 알고리즘천재/정렬
문제
0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요.
*예시
나의 답안
import java.util.Arrays;
class Solution {
public int[] solution(int[] array, int[][] commands) {
String answer = "";
int len = numbers.length;
// x.compareTo(y)
// *x, y가 문자열인 경우 사전적 의미
// x > y 인 경우 양수
// x < y 인 경우 음수
// x==y 인 경우 0
// 문자열로 바꾸기
String[] tmp = new String[len];
for(int i = 0; i < len; i++) {
tmp[i] = Integer.toString(numbers[i]);
}
// 사용자정의 sort() 이용하여 정렬
Arrays.sort(tmp, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
System.out.println((o2+o1)+" "+(o1+o2));
System.out.println((o2+o1).compareTo(o1+o2));
return (o2+o1).compareTo(o1+o2);
}
});
for(int i = 0; i < len; i++) {
answer += tmp[i];
}
return answer;
}
}
사용 개념
'Go to 알고리즘천재 > 정렬' 카테고리의 다른 글
[Coding Test] 프로그래머스 - 완주하지 못한 선수 (0) | 2019.08.19 |
---|---|
[Cording Test] 프로그래머스 - K번째수 (정렬) (0) | 2019.08.01 |
1. 정렬 알고리즘 (0) | 2019.08.01 |