(Java) 프로그래머스 가장 큰 수

2021. 10. 19. 18:37·코딩 테스트

문제가 복잡하지 않아서 만만하게 봤다가 꽤나 시간이 걸렸다.

처음에 숫자를 문자로 변환하는 방법을 생각하지 못하고 삽질을 하다가

다른분들의 코드를 보고 Comparator 인터페이스를 이용해서 풀었다.

 


최종 코드

import java.util.Arrays;
import java.util.Comparator;
class Solution {
    public String solution(int[] numbers) {
        StringBuilder sb = new StringBuilder();
		
		// 숫자를 문자열로 변환
		String[] temp = new String[numbers.length];
		for(int i=0; i<numbers.length; i++) {
			temp[i] = Integer.toString(numbers[i]);
		}

		// 정렬 comparator를 이용해서 비교
		Arrays.sort(temp, new Comparator<String>() {

			@Override
			public int compare(String o1, String o2) {
				return ((o2 + o1).compareTo(o1 + o2));
			}
			
		});
		
		// 0이 여러개일경우 0으로 리턴
		if(temp[0].equals("0")) {
			return "0";
		}
		
		for(int i=0; i<temp.length; i++) {
			sb.append(temp[i]);
		}
        
        return sb.toString();
    }
}

 

'코딩 테스트' 카테고리의 다른 글

(Java) 프로그래머스 피보나치 수  (0) 2021.10.19
(Java) 프로그래머스 JadenCase  (0) 2021.10.19
(Java) 프로그래머스 행렬 테두리 회전하기  (0) 2021.10.17
(Java) 프로그래머스 더 맵게  (0) 2021.10.17
(Java) 프로그래머스 기능 개발  (0) 2021.10.17
'코딩 테스트' 카테고리의 다른 글
  • (Java) 프로그래머스 피보나치 수
  • (Java) 프로그래머스 JadenCase
  • (Java) 프로그래머스 행렬 테두리 회전하기
  • (Java) 프로그래머스 더 맵게
로승리
로승리
  • 로승리
    Roy's Blog
    로승리
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Issuefy
      • Language
      • Spring
      • Database
      • Network
      • Kubernetes
      • AWS
      • 코드스쿼드
      • 코딩 테스트
      • 생각정리
      • 국비지원
      • 회고
      • 컨퍼런스, 세미나
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
로승리
(Java) 프로그래머스 가장 큰 수
상단으로

티스토리툴바