자바에서 정렬(Sort) 공부하다 보면 거의 무조건 만나게 되는 두 가지가 있다.👉 Comparable👉 Comparator처음 보면 이름도 비슷해서 엄청 헷갈린다.근데 이 둘 차이만 제대로 이해하면:✔ 객체 정렬 원리✔ Collections.sort() 동작✔ 람다 정렬 방식✔ 실무 정렬 구현이런 게 전부 연결된다.오늘은 초보자도 바로 이해할 수 있게Comparable vs Comparator 차이를 쉽게 정리해보겠다.Comparable 이란?👉 객체 "자체"의 기본 정렬 기준을 정의하는 인터페이스쉽게 말하면:✔ "이 객체는 기본적으로 어떻게 정렬될지"✔ 클래스 내부에서 직접 정의한다.Comparable 사용 예제예시로 학생 클래스 만들자.class Student implements Compara..
2024.08.09기준 - 실버4백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 3x3의 격자가 있을 때 자신을 제외한 인접한 모든 단어들을 이용해서 3자리로 된 단어 중 사전순으로 가장 빠른 단어를 출력하는 문제입니다. 접근 방법커스텀 클래스를 생성해 문자열을 저장해주었습니다.우선순위 큐를 이용해 가장 먼저 3자리 문자열이 만들어지는 것이 사전순으로 가장 빠른 단어이기 때문에 우선순위 큐를 이용했습니다.1. 커스텀 클래스를 생성했습니다.// 좌표와 문자열, 방문 표시를 저장하는 커스텀 클래스private static class Coordinate implements Comparable { int x, y; String str; boolean[][] visit; pu..
2024.08.05기준 - 실버2백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 구매 횟수가 제한되어 있을 때, 2개의 상점에서 상품을 구매할 때 가장 적은 비용을 출력하는 문제입니다. 접근 방법서로의 차(상점 1, 상점 2)를 이용하면 전체 비용을 최소화가 가능합니다.서로의 차를 기준으로 우선순위 큐를 이용해 최소 비용을 구해주었습니다. 1. 서로의 차와 인덱스를 저장할 커스텀 클래스를 생성했습니다.// 서로의 차와 인덱스를 저장할 커스텀 클래스private static class Node implements Comparable { long dif; int index; public Node(long d, int i) { dif = d; index..