[JAVA, Programmers] 정수 내림차순으로 배치하기(자바)
1. 문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
2. 제한 조건
n은 1이상 8000000000 이하인 자연수입니다.
3. 입출력 예nreturn
n | return |
118372 | 873211 |
import java.util.Arrays;
import java.util.Collections;
class Solution {
public long solution(long n) {
long answer = 0;
String str = Long.toString(n); //long n을 String str에 저장하기 위한 형변환
String[] arr = str.split(""); //1
Arrays.sort(arr, Collections.reverseOrder()); //2, 3
str = String.join("", arr); //4
answer = Long.parseLong(str); //return값 long에 맞춰 형변환
return answer;
}
}
//1
split 함수 : String[] arr = str.split("");
- str에 저장된 문자열을 "" 기준으로 나누어 배열에 각각 저장
- long n에 저장된 값을 한 문자 단위로 배열에 저장하기 위해 사용
ex)
String str = "a-b-c-d-e";
String[] arr = str.split("-");
arr 출력값 : [a, b, c, d, e]
//2
Arrays.sort 함수 :Arrays.sort(a);
- 배열 a 내 요소들을 오름차순으로 정렬
- int, char 등 primitive type 배열에서 정렬 지원(String type은 예외로 가능)
- 프로그래머스 코딩 테스트 간 사용 시 import 필수 : import java.util.Arrays;
ex)
int [] a = {4, 2, 5, 3, 6, 1, 1};
Arrays.sort(a);
a 출력값 : [1, 1, 2, 3, 4, 5, 6]
//3
Collections.reverseOrder() 함수 : Arrays.sort(arr, Collections.reverseOrder());
- //2에서 Arrays.sort()를 이용한 배열 arr내 요소들의 오름차순을 내림차순으로 정렬
- String, Integer, Double 과 같은 Object type 배열에서 정렬 지원
- 프로그래머스 코딩 테스트 간 사용 시 import 필수 : import java.util.Collections;
//4
String.join 함수 : str = String.join("", arr);
- arr 배열 내 각각의 요소 뒤에 ""를 추가해 이어붙여 하나의 문자열로 생성
ex)
String apple = "apple";
String[] Apple = apple.split("");
apple = String.join("*", Apple);
apple 출력값 : a*p*p*l*e
[출처]
[알고리즘] 프로그래머스(Level1) - 정수 내림차순으로 배치하기(Java)
https://programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로
ga0lee.tistory.com
https://soo-vely-dev.tistory.com/201
[JAVA] int, String배열의 오름차순, 내림차순 정렬 개념 및 예제(Arrays.sort(), Collections.reverseOrder())
[배열의 선언 및 초기화] //배열의 선언과 크기 할당 int[] arr = new int[100]; //배열의 선언과 값 초기화 int[] arr = {10, 20, 30, 40, 50}; [java.util.Arrays] Java에서 배열의 값을 정렬하는 경우 java.util.Arrays 클래
soo-vely-dev.tistory.com
https://jamesdreaming.tistory.com/84
[ 자바 코딩 ] Java split() 함수로 문자열 자르기
안녕하세요. 제임스 입니다. 이번에는 Java 에서 String 을 다룰때 유용하게 사용할 수 있는 함수 중 한가지인 split 함수에 대해 알아 보겠습니다. ■ String[] split(String regex) split 함수는 입력받은 정
jamesdreaming.tistory.com