Java/[도서] 자바의 정석
배열 오름차순, 내림차순 정렬하기
Lea Hwang
2022. 4. 25. 23:43
알고리즘 문제를 풀 때, 입력을 받은 후 정렬하는 경우가 많습니다.
저의 경우 오름차순은 여러 번 사용했던 터라 메서드를 알고 있었지만, 내림차순을 할 때는 잠시 망설였던 경험이 있습니다. 독자분들은 바로바로 사용하실 수 있게 이번 기회에 암기하고 가시면 좋을 것 같습니다.
공부 후 관련 알고리즘 문제까지 푸시는 것을 추천합니다.
[백준 2217번] 로프
https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는..
lealea.tistory.com
배열의 오름차순 정렬 Arrays.sort( )
기본 타입 배열, String배열에 모두 사용 가능합니다.
기본 타입 배열
import java.util.Arrays;
public class Array {
public static void main(String[] args) {
int[] arr = {5,100,20,33,66,82,200};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
결과
[5, 20, 33, 66, 82, 100, 200]
String 배열
import java.util.Arrays;
public class Array {
public static void main(String[] args) {
String[] arr = {"dog", "sheep", "wolf", "hyena", "deer", "dolphin"};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
결과
[deer, dog, dolphin, hyena, sheep, wolf]
배열의 내림차순 정렬
Collections클래스의 reverseOrder( ) 함수를 사용합니다.
기본 타입 배열의 경우 래퍼 클래스로 만들어서 Comparator를 두 번째 인자에 넣어주어야 합니다.
기본 타입 배열
import java.util.Arrays;
import java.util.Collections;
public class Array {
public static void main(String[] args) {
Integer[] arr = {5,100,20,33,66,82,200};
Arrays.sort(arr, Collections.reverseOrder());
System.out.println(Arrays.toString(arr));
}
}
결과
[200, 100, 82, 66, 33, 20, 5]
String배열
import java.util.Arrays;
import java.util.Collections;
public class Array {
public static void main(String[] args) {
String[] arr = {"dog", "sheep", "wolf", "hyena", "deer", "dolphin"};
Arrays.sort(arr, Collections.reverseOrder());
System.out.println(Arrays.toString(arr));
}
}
결과
[wolf, sheep, hyena, dolphin, dog, deer]
배열 일부분 정렬
Arrays.sort(배열이름, 시작 index, 끝 index )를 사용합니다.
시작은 포함하고 끝은 포함하지 않습니다.
import java.util.Arrays;
public class Array {
public static void main(String[] args) {
int[] arr = {5,100,20,33,66,82,200};
Arrays.sort(arr,1,4); // 1 2 3
System.out.println(Arrays.toString(arr));
}
}
결과
[5, 20, 33, 100, 66, 82, 200]
반응형