Algorithm 3

Chapter11. 그리디 문제

Q01. 모험가 길드문제공포도가 x인 모험가는 반드시 x명 이상으로 구성한 모험가 그룹에 참여해야한다. 모험가 N명이 있을 때 여행을 떠날 수 있는 그룹 수의 최댓값을 구하여라.풀이처음에는 공포도가 높은 순서대로 묶었는데 [4,2,2,2,2]와 같은 경우를 생각해보니 되지 않아 다시 생각해봄. -> 공포도가 낮은 순서대로 그룹을 만들면 최대로 만들 수 있다.한명씩 추가하면서 인원수가 공포도 이상이 되면 result(=모험가 그룹 수)를 1 증가시킨다.코드import java.util.*;public class GreedyQ1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); ..

algorithm/이코테 2024.07.12

Chapter3. 그리디

1. 개념현재 상황에서 지금 가장 좋은 것만 고르는 방법매 순간 가장 좋아보이는 것을 선택하며, 현재의 선택이 나중에 미칠 영향에 대해 고려하지 않음‘가장 큰 순서대로’, ‘가장 작은 순서대로’와 같은 기준이 있음 예제 3-1) 거스름돈문제거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한히 존재한다.손님에게 거슬러 줘야 할 돈이 N원일 때 거슬러 줘야 할 동전의 최소 개수를 구하라.풀이큰 순서로 거슬러 준다.거스름돈 배열에 큰 순서대로 선언을 해두고, 현재 금액(N)에서 거슬러줄 수 있는 만큼 거슬러 주고, 남은 금액은 그 다음 거스름돈으로 거슬러준다.코드import java.io.BufferedReader;import java.io.IOException;import java.io..

algorithm/이코테 2024.07.12