풀이
- int 배열을 String 배열로 변경
- 문자열을 comparator로 정렬
str1 + str2
와str2 + str1
를 비교 둘 중 더 크게 만드는 놈을 앞으로
- 앞에서부터 Stringbuilder에 넣어서 tostring으로 반환
- 주어진 모든 숫자가 0일 경우 반환값은 "0"이어야 함
비고
- ㅋㅋ ㅠㅠㅠ 한줄이면 끝나는 것을./... 정말 어려웠다 ㅠㅠ
더보기
package 연습문제.P42746_가장큰수;
import java.util.Arrays;
import java.util.Comparator;
public class Solution {
static public String solution(int[] numbers) {
StringBuilder answer = new StringBuilder();
String[] n = new String[numbers.length];
for (int i = 0; i < numbers.length; i++) {
n[i] = "" + numbers[i];
}
Arrays.sort(n, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return (o2 + o1).compareTo(o1 + o2);
}
});
if (n[0].equals("0"))
return "0";
for (int i = 0; i < n.length; i++) {
answer.append(n[i]);
}
return answer.toString();
}
public static void main(String[] args) {
int[] n = { 6, 10, 2 };
System.out.println(solution(n));
int[] n2 = { 3, 30, 34, 5, 9 };
System.out.println(solution(n2));
int[] n3 = { 21, 212 };
System.out.println(solution(n3));
}
}
'알고리즘왕 > Programmers' 카테고리의 다른 글
[프로그래머스/JAVA] 동굴탐험 (0) | 2021.05.04 |
---|---|
[프로그래머스/JAVA] 경주로 건설 (0) | 2021.05.04 |
[프로그래머스/JAVA] 징검다리 건너기 (0) | 2021.05.04 |
[프로그래머스/JAVA] 호텔방배정 (0) | 2021.05.04 |
[프로그래머스/JAVA] 튜플 (0) | 2021.05.04 |