[프로그래머스] 정수 내림차순으로 배치하기

김소은·2024년 6월 9일

알고리즘

목록 보기
13/55
post-thumbnail

프로그래머스의 Lv.1 정수 내림차순으로 배치하기 문제 풀이

문제 설명

함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.

제한 사항

  • n은 1이상 8000000000 이하인 자연수입니다.

문제 풀이
주어진 long타입 n을 문자열로 변환하고, 문자열 배열로 다시 변환하여 정렬 시킨다. 그 다음 정렬된 배열을 다시 문자열로 변환하여 long 타입으로 변환하여 반환시키면 된다. 이때 문제에 맞게 정렬을 내림차순으로 해주어야한다.

코드

public long solution(long n) {
   String str = Long.toString(n);

   Character[] chr = new Character[str.length()];
   for (int i = 0; i < str.length(); i++) {
     chr[i] = str.charAt(i);
   }

   Arrays.sort(chr, Collections.reverseOrder());

   StringBuilder sb = new StringBuilder();
   for (char c : chr) {
     sb.append(c);
   }

   return Long.parseLong(sb.toString());
 }
profile
차근차근 잘 해보자!

0개의 댓글