다희의 코딩 성장일기

[프로그래머스] level1. 정수 내림차순으로 배치하기 (자바 JAVA) 본문

Algorithm/프로그래머스

[프로그래머스] level1. 정수 내림차순으로 배치하기 (자바 JAVA)

ilmiodiario 2021. 8. 20. 00:00

[ 문제 ]  [프로그래머스] level1. 정수 내림차순으로 배치하기 (자바 JAVA)

 

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/12933

 

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

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

programmers.co.kr


# 접근 방법 및 풀이 

 

  • n을 String 으로 바꾸고 String을 char 배열로 바꿔준다.
  • 오름차순 정렬하고 StringBuilder를 통해 배열의 끝부터 sb에 append해준다.
  • 처음에 이렇게 짰는데, String class에 char배열을 string으로 만들어주는게 있는 것을 알았다. 생각해보면 string내장 함수에 toCharArray()가 있으니 반대도 가능한 것이다!
  • 역시 자바 최고,, 나머지는 코드 참조!

# 주의할 점 

 

  • 없음

 

JAVA 코드
import java.util.*;
class Solution {
    public long solution(long n) {
            char carr[] = Long.toString(n).toCharArray();
	        Arrays.sort(carr);
	        StringBuilder sb = new StringBuilder(new String(carr, 0, carr.length));
	        long answer =  Long.parseLong(sb.reverse().toString());
        return answer;
    }
}

 

 

 

REVIEW

빨리 레벨 1 다 끝내고 2 풀고싶다.. 하루만에 다 푸는 것은 무린가,, 이틀안에 다 끝내본다!

Comments