본문 바로가기
프로그래머스/Level1

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

by 너츠너츠 2022. 2. 6.

문제 설명

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

 

문제 풀이

이 문제는 n을 각 자릿수마다 쪼개어 배열에 넣고 정렬하면 되는 문제입니다. 

 

풀이 코드

1. Stream 활용

import java.util.*;
import java.util.stream.*;


class Solution {
    public long solution(long n) {
        return Long.parseLong(Arrays.stream(String.valueOf(n).split("")).sorted(Comparator.reverseOrder())
                .collect(Collectors.joining()));
    }
}

 

2. Collections.reverse를 활용

import java.util.*;

class Solution {
  public String reverseStr(String str){
      String[] array = str.split("");
      Arrays.sort(array);
      Collections.reverse(Arrays.asList(array));
      return String.join("", array);
  }
  public long solution(long n) {
      String s = Long.toString(n);
      Long answer = Long.parseLong(reverseStr(s));
      return answer;
  }
}

 

<출처>

https://programmers.co.kr/learn/courses/30/lessons/12933?language=java 

 

코딩테스트 연습 - 정수 내림차순으로 배치하기

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

programmers.co.kr

 

 

반응형

댓글