본문 바로가기
알고리즘

그리디 알고리즘 정리

by korea_musk 2021. 1. 22.

현재 상황에서 가장 좋은 선택지를 택하는 알고리즘, 탐욕 알고리즘이라고도 불립니다.

주의할 점으로는 그리디 알고리즘이 최적의 해가 아닌 경우가 있을 수 있어 잘 추론해야 합니다.

 

그리디 알고리즘를 설명하기 가장 좋은 거스름돈 문제

money = 입력값
count = 0  ##거스름돈 갯수 세기

array =[500, 100, 50, 10] ##거스름돈 리스트화

for coin in array:
	count += money // coin  ## 나눈 몫
    	money %= coin  ## money에 coin 나눈 나머지

 

 큰 금액의 동전인 500원부터 차례대로 계산하면 되기에 그리디 알고리즘을 사용하면 풀리게 됩니다.

동전의 금액이 300원 200원 등 이라면 얘기가 다를 수 있기에 문제를 잘 살펴야합니다.

## 여러 수 공백기준 입력 받기 map(int, input().split()) 

## (n // k) * k 를 하면 n이 k로 나누기가 깔끔하게 되지 않아도 가장 근접한 k의 배수의 수를 찾습니다. 

## data = input() #문자열로 입력받는듯? 후 result = int(data[0]) 하면 붙어있는 숫자도 한 숫자씩 저장가능합니다.

 

 

 

 

'알고리즘' 카테고리의 다른 글

(코드업) 6098 성실한 개미 - 파이썬  (0) 2022.01.20
파이썬 스택 자료구조  (0) 2021.02.10
구현 유형 알고리즘 정리  (0) 2021.01.23
람다 표현식 정리  (0) 2021.01.19
리스트 컴프리헨션 정리  (0) 2021.01.19

댓글