가장큰수

eunseo·2021년 7월 16일
0

Programmers

목록 보기
10/14
post-thumbnail
import java.util.*;



public class 가장큰수 {
    public String solution(int[] numbers) {
	    String str_numbers[] = new String[numbers.length];
        String answer = "";
        
        for(int i=0; i<str_numbers.length; i++) {
		str_numbers[i] = String.valueOf(numbers[i]);
	        }
        

        Arrays.sort(str_numbers, (s1,s2) -> (s2+s1).compareTo(s1+s2));
        
        if(str_numbers[0].startsWith("0")){
           return "0";
        }else{
            for(int i=0; i<str_numbers.length; i++){
            answer += str_numbers[i];
          }
            
        }
        return answer;
    }  
}

https://st-lab.tistory.com/112 참고

Coparator 타입안에는 compare 메소드가 있다. 이 메소드를 오버라이딩 하는 것이다. s2+s1 > s1+s2 이면 양수가 return되어 s1과 s2자리가 바뀔 것이다. 0이나 음수의 경우는 바뀌지 않는다. 위의 코드는 람다식을 사용하였다.

profile
backend developer

0개의 댓글

관련 채용 정보