-
[프로그래머스 1단계 - JAVA] 정수 내림차순으로 배치하기JAVA 2022. 9. 16. 16:08728x90반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
풀이
class Solution { public long solution(long n) { long answer = Long.parseLong(method1(n)); return answer; } static String method1(long n){ int[] arr = new int[Long.toString(n).length()]; int i = 0; while(n > 0){ arr[i] = (int)(n % 10); i++; n = n / 10; } return method2(arr); } static String method2(int[] arr){ for(int i = 1; i < arr.length; i++){ for(int j = i; j > 0; j--){ if(arr[j] > arr[j-1]){ int temp = arr[j]; arr[j] = arr[j-1]; arr[j-1] = temp; }else{ break; } } } return method3(arr); } static String method3(int[] arr){ String str = ""; for( int i = 0; i < arr.length; i++){ str = str + arr[i]; } return str; } }- method1은 입력받은 n을 배열로 만든다.
- method2는 배열을 내림차순으로 정리한다.
- method3는 해당 배열을 문자열로 바꾼다.
728x90반응형'JAVA' 카테고리의 다른 글
[프로그래머스 2단계 - JAVA] 게임 맵 최단거리 (1) 2022.09.29 [프로그래머스 1단계 - JAVA] 하샤드 수 (1) 2022.09.16 [프로그래머스 1단계 - JAVA] 문자열 내 p와 y의 개수 (1) 2022.09.16 [프로그래머스 1단계 - JAVA] 자연수 뒤집어 배열로 만들기 (0) 2022.09.16 [프로그래머스 1단계 - JAVA] 정수 제곱근 판별 (0) 2022.09.16