[알고리즘] 프로그래머스 가장 큰 수 (레벨 2 - 정렬)
2022. 12. 5. 22:07ㆍ알고리즘
프로그래머스 레벨2 문제 중 '가장 큰 수'라는 문제입니다. 정렬 문제입니다.
- 문제 출처 : 링크
- 정렬
풀이 포인트
- 해당 문제는 제가 풀이를 찾다찾다... 해결이 안되서 다른 분 풀이를 참고하였습니다.
- 가장 큰 수를 만드는 방법을 먼저 찾아야 됩니다.
- 주어진 예시를 적절히 배치할 때 큰수로 만들려면 위 그림처럼 만들어야 됩니다.
- 위 처럼 비교를 하기 위해서는 Interger Type을 비교하는 것이 아니라 String Type을 비교함으로서 간단하게 처리할 수 있습니다.
import java.util.*;
class Solution {
public String solution(int[] numbers) {
String answer = "";
String[] str = new String[numbers.length];
for(int i = 0; i < numbers.length; i++){
str[i] = String.valueOf(numbers[i]);
}
Arrays.sort(str, new Comparator<String>() {
@Override
public int compare(String a, String b) {
return (b+a).compareTo(a+b);
}
});
for(int i = 0; i < str.length; i++){
System.out.println(str[i]);
}
if (str[0].equals("0")) return "0";
for(String s: str) answer += s;
return answer;
}
}
'알고리즘' 카테고리의 다른 글
[알고리즘] 프로그래머스 스쿨 - 힙(Heap) 문제 풀이 ( 더 맵게, 디스크 컨트롤러, 이중우선순위 큐 ) (0) | 2022.12.05 |
---|---|
[알고리즘] 프로그래머스 예상 대진표 (레벨 2) (0) | 2022.12.05 |
[알고리즘] 프로그래머스 모음사전 ( 레벨2 - 완전탐색 ) (0) | 2022.12.05 |
[알고리즘] 프로그래머스 땅따먹기 ( 레벨2 - DP) (0) | 2022.12.05 |
[알고리즘] 프로그래머스 - 가장 큰 정사각형 찾기 ( 레벨2 - DP ) (0) | 2022.12.05 |