Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

발전하는 개발자가 되자

프로그래머스 알고리즘: 가장 큰 수 (java) 본문

개발공부/알고리즘

프로그래머스 알고리즘: 가장 큰 수 (java)

백경훈 2019. 2. 9. 16:07

프로그래머스 알고리즘 (java)

가장 큰 수

프로그레머스 가장 큰 수

내가 작성한 코드

문자열로 변환하고 sort 해서 다 더해 출력함
다른 사람들도 비슷한 방식으로 푼거 같다.

public String solution(int[] numbers) {
        String answer = "";
        List<String> stringList = new ArrayList<>();

        for (int anInt : numbers) {
            stringList.add(String.valueOf(anInt));
        }
        stringList.sort(((o1, o2) -> (o2 + o1).compareTo(o1 + o2)));

        for (String s : stringList) {
            answer += s;
        }

        return answer.charAt(0) == '0'? "0": answer;
    }
  • compareTo 하는것이 어려웠다.
    • {20,3} 을 비교하면 20이 3보다 크지만 (o2 + o1).compareTo(o1+o2) 로 비교하면 "320" 이 "203" 보다 크니 3, 20으로 정렬됨
  • 마지막 테스트 케이스에서 막혔다. 마지막은 배열에 0 밖에 없었다.
  • 0을 출력해보니 000 같이 나왔는데 이걸 0 으로 바꾸는 조건을 추가해 해결


Comments