DevBoi

프로그래머스 가장 큰수 본문

Algorithm/[Etc]

프로그래머스 가장 큰수

HiSmith 2021. 7. 7. 01:28
반응형

난이도 2의 가장큰수, 쉽게 봤다가. 큰코 다칠뻔 ㅋ

 

int 형 배열을, String 형 배열로 바꿔서 비교 및 출력....

우선, int 형 배열을 바꿔야한다.

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

요로케해서, answers[]라는 String 배열에 담아준다.

그리고, Arraysort를 해주면되는데, 이때 그냥 기존에 정의된 대로 쓰면, 오류가 있다

 

어떤 오류나, 만약에 2번째 3,30,34,5,9 로 numbers가 주어지면,

9534303이 출력이 된다. 그러면 어떻게 하냐...?

 

@Override하면된다 ㅋ


Arrays.sort(result, new Comparator<String>() {

@Override
public int compare(String o1, String o2) {

return ((o2 + o1).compareTo(o1 + o2));
}
});

 

3,31 일때 331이냐 313이냐 뭐 이런걸 더 큰걸 찾아서 return 해주는 것이다. 저 return 대로, sort가 정렬이된다.

 

추가로 실패때문에 all 0인 케이스에는 그냥 return "0"했다.

정렬 후에 0이 첫번째라면, 그냥 전부 0으로 간주할수 있기 때문이다.

 

오늘도 ㅅㄱ

 

반응형