[프로그래머스] level2 42746 - 가장 큰 수(Java)

phdljr·2023년 8월 8일
0

코딩테스트

목록 보기
6/10

https://school.programmers.co.kr/learn/courses/30/lessons/42746

접근 방법

1.규칙을 구한다.

근데 규칙 설정하기가 너무 어렵다. 포기

2. 조합을 통해 크기를 비교한다.

Arrays.sort(numberStr, (s1, s2) -> (s2+s1).compareTo(s1+s2));

s2+s1와 s1+s2를 비교하여 더 큰 수를 반환하도록 한다.

소스 코드

package programmers.level2.pm42746;

import java.util.*;

public class Solution {
    public String solution(int[] numbers) {
        String answer = "";
        String[] numberStr = new String[numbers.length];

        for(int i=0;i<numbers.length;i++)
            numberStr[i] = String.valueOf(numbers[i]);

        Arrays.sort(numberStr, (s1, s2) -> (s2+s1).compareTo(s1+s2));

        for(String str: numberStr)
            answer += str;

        if(answer.charAt(0) == '0'){
            answer = "0";
        }

        return answer;
    }
}
profile
난 Java가 좋아

1개의 댓글

comment-user-thumbnail
2023년 8월 8일

개발자로서 성장하는 데 큰 도움이 된 글이었습니다. 감사합니다.

답글 달기