코드 저장소

공부에는 끝이 없다!

정렬 2

백준 문제 풀이 - 정렬 단계 - 11650번 좌표 정렬하기 (실버 5)

이번 문제는 1차원 배열이 아닌 2차원의 배열을 오름차순으로 정렬하는 문제이다. 2차원 배열을 정렬하기 위해선 기존 sort()메서드를 바로 사용할 순 없고 약간 다르게 사용해야 했는데 그럼 2차원 배열을 정렬 하는 방법을 알아보자. Comparator 익명 클래스 구현 2차원 배열에서 Arrays.sort() 메서드를 사용하게 되면, java.lang.ClassCastException: I cannot be cast to java.lang.Comparable이란 오류가 발생하게 된다. 비교 기준이 정의 되어있지 않기 때문인데, 때문에 Comparator 인터페이스를 구현하여 정렬기준을 추가해 줘야한다. comparable, comparator 구현에 대해서 잘 정리된 글이 있어 참고하였다. https:..

백준 문제 풀이 - 정렬 단계 - 10989번 수 정렬하기 3 (브론즈1)

N개의 수가 주어졌을 때, 오름차순으로 정렬하는 간단한 프로그램 구현 문제이다. 중요한 것은 제한사항인데, 입력에는 중복된 값이 있을 수 있고, 최대 값은 10000이다. 나는 이전 수 정렬 문제들을 sort() 메서드를 이용하여 풀었는데 (이미 해당 메서드를 알고 있었다.) 이번 문제에서 카운팅 정렬과 sort()메서드의 속도를 비교해 보기로 하였다. 우선, 2751번 - 수 정렬하기 2 (실버 5) 에서 사용하였던 오름차순 정렬 코드를 살펴 보자. 2751번 - 수 정렬하기 2 (실버 5) https://www.acmicpc.net/problem/2751 위 문제 역시 오름차순으로 입력받은 값을 정렬하기만 하면 되는데, 두 문제의 차이는, 최대 값과 중복값의 여부이다. 다만, 위의 문제는 효율성을 검..