❒ Description
날짜 | 2024.09.29 (일) |
레벨 | Medium |
제목 | Largest Number |
링크 | https://leetcode.com/problems/largest-number/description/ |
알고리즘 | 삽입 정렬 |
시간 복잡도 | O(NlonN) |
❒ 문제 및 로직 분석
요구사항 : 주어진 배열을 가장 큰 하나의 숫자로 반환하라.
주어진 두 수 a,b를 더해서 비교해야 한다.
- ab 와 ba를 비교 후 내림차순 정렬
❒ Solution
public String largestNumber(int[] nums) {
String[] numsStr = new String[nums.length];
for (int i = 0; i < nums.length; i++) numsStr[i] = String.valueOf(nums[i]);
Arrays.sort(nums, new StringComparator());
return nums.length == 0 ? "0" : convertToString(numsStr);
}
private convertToString(String[] numsStr) {
StringBuilder builder = new StringBuilder();
for (String num : strArr) {
result.append(num);
}
return result.toString();
}
public class StringComparator implements Comparator<String> {
@Override
public int compare(String a, String b) {
if (a.length == b.length) {
return b.compareTo(a);
} else {
String ab = a + b;
String ba = b + a;
}
}
}
'Algorithm > 문제풀이' 카테고리의 다른 글
[LeetCode#75] Sort Colors (0) | 2024.10.01 |
---|---|
[LeetCode#242] Valid Anagram (0) | 2024.09.29 |
[LeetCode#147] Insertion Sort List (0) | 2024.09.28 |
[LeetCode#56] Merge Intervals (0) | 2024.09.27 |
[LeetCode#148] Sort List (0) | 2024.09.27 |