자바에서는 리스트를 정렬할 때 기본형 데이터 타입에 대한 정렬 기준이 정의되어 있기 때문에 Collections.sort로 리스트를 정렬할 수 있습니다. 하지만, 기본형 데이터 타입이 아닌 커스텀 타입의 리스트를 정렬하려고 하면 컴파일 에러가 발생합니다. 순위에 따라 선수들을 정렬하는 축구팀을 예시로 설명해보겠습니다. 먼저 선수들에 대한 정보를 저장하기 위해 Player라는 클래스를 만들 수 있습니다. public class Player { private int ranking; private String name; private int age; // constructor, getters, setters } Player 클래스를 생성한 후 선수들의 정보를 리스트에 넣고 Collections.sort를 이용..
그리디(Greedy) 알고리즘 최적의 해를 구하기 위해 현재의 선택이 나중에 미칠 상황은 고려하지 않고 현재 상황에서 가장 좋아보이는 것을 고르는 방법 그리디(Greedy) 알고리즘은 다른 알고리즘 이론들과는 다르게 사전에 사용 방법에 대해 익숙해지지 않아도 자연스럽게 풀 수 있는 알고리즘 문제 유형 중 하나이다. 항상 현재 상황에서 최적이라고 생각되는 것을 선택하지만 결과 또한 최적이라는 것은 보장할 수 없다. 이 알고리즘을 사용하는 대표적인 문제 중 하나는 '거스름돈' 문제가 있으며 이 포스팅에서는 거스름돈 문제를 예시로 그리디 알고리즘을 설명하려고 한다. 백준 - 5585번 : 거스름돈 문제(www.acmicpc.net/problem/5585) (문제) 타로는 자주 JOI잡화점에서 물건을 산다. J..