여니의 취준 준비/알고리즘 기본 개념

[#1] 그리디 알고리즘 with python

여니's 2021. 1. 25. 14:40

참고 출처 :

이것이 코딩테스트다 with 파이썬


그리디 알고리즘 = 탐욕법

>> 가장 큰 순서대로 or 가장 작은 순서대로와 같이 기준을 제시해줌.

 

그리디 알고리즘 대표 문제 : 거스름돈

 

>>

가장 큰 화폐 단위부터 돈을 거슬러준다.

책에 나와있는 방법 (더 간단..)

>> for문과 list를 이용해서 간단하게 작성하기 연습...

coin_types 리스트에는 나눠야 하는 동전의 종류를 넣는다.

count는 동전이 개수

 

 

문제 유형을 파악하기 어려울 때 그리디 알고리즘 문제를 의심

-> 이게 아니라면 다이나믹 프로그래밍이나 그래프 알고리즘 등으로 문제를 해결할 수 있는 지 체크 체크


<큰 수의 법칙 : 문제1>

좀 더 효율적인 방법


<숫자 카드 게임 : 문제2>

min 함수 이용

>> 굳이 2중리스트를 만들지 않아도 min함수를 이용하면 간편하게 할 수 있음.

함수 1행씩 검사할때마다 가장 작은 수를 찾아내고, 

result와 좀 전에 찾아낸 가장 작은 수 중에 큰 숫자를 result 변수에 다시 저장

 

2중 반복문 이용


<1이 될 때까지 : 문제4>

'여니의 취준 준비 > 알고리즘 기본 개념' 카테고리의 다른 글

[#5] 이진 탐색 chapter7  (0) 2021.02.03
[#4] 정렬 (chapter6)  (0) 2021.01.28
[#3] DFS/BFS  (0) 2021.01.27
[#4] 파이썬 리스트 문자열 나누기  (0) 2021.01.27
[#2] chapter4 구현  (0) 2021.01.26