컴퓨터공학 💻 도서관📚
Part2. 8-8 그리디 알고리즘(여러 종류의 동전으로 가격 지불하는 문제) 본문
✅🌲강의 복습 노트/패캠 JavaSpring 강의,코드 복습
Part2. 8-8 그리디 알고리즘(여러 종류의 동전으로 가격 지불하는 문제)
들판속초록풀 2026. 1. 11. 10:10그리디(Greedy) 알고리즘
- 다른 용어로 탐욕 알고리즘이라고도 함
- 지금 상황에서 가장 좋은 해결책을 찾는 알고리즘으로 실제 여러 알고리즘 테스트에서도 흔히 볼 수 있는 문제중 하나임
- 여러 조합에 따른 그 해를 찾는 경우가 많고 이때 제시되는 대부분의 조건은 "가장 금액이 큰 순서부터" 라던가 "가장 면적이 큰 타일을 우선적으로" 등의 방식으로 제시
- 이 알고리즘은 조건이 명확할 때 정확한 답을 찾을 수 있다
문제 정의
- 가게에 간 철수는 8370원 어치 물건을 구매하였습니다. 철수에게는 500원짜리 20개 100원짜리 20개 50원짜리 20개 10원짜리 20개의 동전이 있습니다. 철수는 금액을 지불 할 때 단위가 큰 동전부터 지불하려고 합니다. 철수가 지불하게 되는 각 동전의 개수를 구하세요
( 10원이 모여서 50원이 되고 , 50원이 모여서 100원이 될 수 있기 때문에 그리디가 가능하다 --> 가장 단위가 큰 돈 먼저 선택하면 동전의 개수는 무조건 적어진다 )
public class GreedyTest {
public static void main(String[] args) {
int[] coins = {500, 100, 50, 10}; //
int price = 8370;
int count;
for (int i = 0; i< coins.length; i++) {
count = 0;
count += price / coins[i];
price = price % coins[i];
System.out.println( coins[i] + "짜리 동전 " + count + "가 필요합니다.");
}
}
}'✅🌲강의 복습 노트 > 패캠 JavaSpring 강의,코드 복습' 카테고리의 다른 글
| Part2. 8-10 특정 범위의 숫자가 나열되어 있을 때 각 숫자의 개수를 세어봅시다. (0) | 2026.01.11 |
|---|---|
| Part2. 8-9 경우의 수 문제 (Brute-Force Search : 완전탐색) (0) | 2026.01.11 |
| Part2. 8-7 피보나치 수열 문제 여러 방식으로 해결하기 (0) | 2026.01.11 |
| Part2. 8-6 미로 찾기 (0) | 2026.01.08 |
| Part2. 8-5 최단거리 (다익스트라 알고리즘) (0) | 2026.01.05 |
Comments
