728x90

Java의 정렬 방법 중 Java.util.Arrays 클래스의 sort() 메서드를 사용해 보겠습니다.

 

sort() 메서드는 매개변수로 기본타입과 객체를 받을 수 있습니다.

그리고 시작 인덱스와 종료 인덱스를 추가로 받아 부분 정렬이 가능합니다.

추가로 기본적으로 오름차순 정렬되지만 내림차순으로도 정렬 가능합니다. 


문법

sort(primitive type array) 

  - 매개변수로 기본타입 배열을 이용합니다.

  - int[], double[], float[], long[], short[], byte[], char[] 

sort(primitive type array, int startIndext, int endIndex)

  - 기본타입에 시작 인덱스 값과 종료 인덱스 값을 지정합니다.

 

sort(Object[] o)

  - 매개변수로 객체를 받습니다.

  - Wrapper Class 값을 받을 수 있습니다.

sort(Object[] o, int startIndext, int endIndex)

 

sort(T[] a, Comparator<? super T> c)

  - 매개변수로 객체를 받으며 Comparator의 메서드에 따라 정렬할 수 있습니다.

  - 주로 Comparator.reverseOrder()를 사용해 내림차순으로 사용합니다.

sort(T[] a, int startIndext, int endIndex, Comparator<? super T> c)

 

예시

오름차순

int[] arr = {5, 3, 4, 1, 2};

Arrays.sort(arr);

String[] arr2 = {"peach", "apple", "banana"};

Arrays.sort(arr2);

Arrays.stream(arr).forEach(a -> System.out.println(a));
Arrays.stream(arr2).forEach(a -> System.out.println(a));

//결과
1
2
3
4
5
apple
banana
peach

내림차순

  - 기본타입의 배열을 내림차순으로 정렬하고 싶다면

기본타입 배열을 래퍼 클래스로 감싸야 내림차순으로 정렬할 수 있습니다.

Integer[] arr = {5, 3, 4, 1, 2};

Arrays.sort(arr, Comparator.reverseOrder());

String[] arr2 = {"peach", "apple", "banana"};

Arrays.sort(arr2, Comparator.reverseOrder());

Arrays.stream(arr).forEach(a -> System.out.println(a));
Arrays.stream(arr2).forEach(a -> System.out.println(a));

//결과
5
4
3
2
1
peach
banana
apple

 

 

728x90
728x90
#1181
N = int(input())
arr = [input() for i in range(N)]

H = list(set(arr)) # 중복 제거
H.sort()
H.sort(key = len)  # 길이값으로 또 정렬
for i in H:
    print(i)
728x90

'Algorithm' 카테고리의 다른 글

백준 1158 파이썬 (큐 풀이)  (0) 2022.01.13
백준 7569 파이썬  (0) 2022.01.12
백준 1085 파이썬  (0) 2022.01.11
백준 7576 파이썬  (0) 2022.01.11
백준 1018 파이썬  (0) 2022.01.11

+ Recent posts