https://school.programmers.co.kr/learn/courses/30/lessons/42746
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
2개의 문자열을 사전순 역으로 하면
아래처럼 쉽게 할 수 있다.
길이가 달라도 2개를 이어 붙여서 판단하면 간단하게 할 수 있다.
그렇게 정렬하면
맨앞에 0이 오는 경우를 제외하고는 이어 붙여서 반환하면된다.
import java.util.*;
class Solution {
public String solution(int[] numbers) {
String[] numStr = new String[numbers.length];
for(int i=0; i<numbers.length; i++) {
numStr[i] = String.valueOf(numbers[i]);
}
Arrays.sort(numStr, (n1, n2) -> (n2+n1).compareTo(n1+n2));
if(numStr[0].equals("0")) return "0";
StringBuilder sb = new StringBuilder();
for(String num : numStr) {
sb.append(num);
}
return sb.toString();
}
}
'알고리즘 & 자료구조 > 문제 풀이' 카테고리의 다른 글
| [프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 아이템 줍기 (0) | 2026.04.28 |
|---|---|
| [프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 여행경로 (0) | 2026.04.27 |
| [LeetCode][Java][영어공부] 1071. Greatest Common Divisor of Strings (0) | 2026.04.24 |
| [프로그래머스 알고리즘 고득점 Kit][스택/큐][Java] 기능 개발 (0) | 2026.04.24 |
| [프로그래머스 알고리즘 고득점 Kit][깊이/너비 우선 탐색(DFS/BFS)][Java] 단어 변환 (0) | 2026.04.21 |