2480번: 주사위 세개
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개
www.acmicpc.net
어떻게 하면 2480문제를 더 간단하게 깔끔하게 만들 수 있을까?????
고민고민하다가 다른 사람의 풀이 코드를 보고 Array.sort() 라는 기능을 찾았다!
이렇게 또 하나 배워갑니다!!!

🌈 Array.sort() 사용법
int 배열 정렬 (오름차순, 내림차순)
int[] arr = { 1, 4, 3, 2, 5 };
Arrays.sort(arr);
System.out.print(Arrays.toString(arr)); // [1, 2, 3, 4, 5] 출력
Array.sort() 함수는 기본적으로 매개값으로 전달되는 배열을 오름차순으로 정렬해준다.
String 배열도 Integer와 동일하다!!
내림차순
sort() 의 인자에 추가로 Colletions.reverseOrder() 를 전달하면 된다.
int[] arr = { 1, 4, 3, 2, 5 }
Arrays.sort(arr, Collections.reverseOrder());
System.out.print(Arrays.toString(arr)); // [5, 4, 3, 2, 1] 출력
int 배열, 부분 정렬
위의 예제는 배열 전체를 정렬하였지만, 배열의 일부분만 정렬하는 방법도 있다.
sort()의 인자로 처음 idex와 마지막 idex를 전달하여 정렬할 범위를 지정해주면 된다.
int[] arr = { 10, 40, 30, 20, 50 };
Arrays.sort(arr, 0, 2);
System.out.print(Arrays.toString(arr)); // [10, 30, 40, 20, 50] 출력
String 배열, 문자열 길이 순서로 정렬(Sorting)
문자열 길이 순서로 정렬을 하고 싶을 때는, 직접 Comparator를 구현해야 한다.
tring[] arr = {"Apple", "Kiwi", "Orange", "Banana", "Watermelon", "Cherry"};
Arrays.sort(arr, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.length() - s2.length();
}
});
System.out.println("Sorted arr[] : " + Arrays.toString(arr));
// [Kiwi, Apple, Orange, Banana, Cherry, Watermelon] 출력
Lambda를 사용하여 아래처럼 더 간결하게 구현할 수도 있다.
String[] arr = {"Apple", "Kiwi", "Orange", "Banana", "Watermelon", "Cherry"};
Arrays.sort(arr, (s1, s2) -> s1.length() - s2.length());
System.out.println("Sorted arr[] : " + Arrays.toString(arr));