' 현재 상황에서 지금 당장 좋은 것만 고르는 방법 '
' 사전에 외우고 있지 않아도 풀 수 있을 가능성이 높은 문제 유형 '
- 최단 경로를 빠르게 찾아야 하는 문제는 플로이드 워셜(Floyd-Warshall) or 다익스트라(Dijkstra) 알고리즘을 알고 있어야한다. 특히, 다익스트라 알고리즘은 그리드 알고리즘으로 분류됨
- 그리디 알고리즘이면서도 ' 암기 ' 가 필요한 알고리즘
- But 단순 암기를 통해 모든 문제를 대처하기는 어렵다는 점을 이해하자
1. 바로 문제 유형을 파악하기 어렵다면 그리디 알고리즘을 의심하고, 문제를 해결할 수 있는 탐욕적인 해결법이 존재하는지 고민
2. 그리디 알고리즘으로 해결 방법을 찾을 수 없다면??? -> 다이나믹 프로그래밍, 그래프 알고리즘 고려
# 거스름돈
- 거스름돈 문제에서 동전의 단위가 서로 배수 형태가 아니라, 무작위로 주어진 경우는 그리디 알고리즘 X
=> 다이나믹 프로그래밍으로 해결 가능
https://cord-ai.tistory.com/163
다이나믹 프로그래밍(Dynamic Programming)
" 중복되는 연산을 줄이자 " " 메모리 공간을 약간 더 사용하면 연산 속도를 비약적으로 증가시킬 수 있는 방법 " " 완전 탐색 알고리즘으로 접근했을 때 시간이 매우 오래 걸리면 다이나믹 프로
cord-ai.tistory.com
Code
https://github.com/kimmy-git/Algorithm_Test/tree/main/Greedy_Theory
GitHub - kimmy-git/Algorithm_Test
Contribute to kimmy-git/Algorithm_Test development by creating an account on GitHub.
github.com
'IT 개인학습 > 이것이 취업을 위한 코딩테스트다 with 파이썬' 카테고리의 다른 글
Sorting 정렬 (0) | 2022.08.19 |
---|---|
DFS / BFS , Graph Structure (0) | 2022.08.15 |
Stack, Queue, Recursive Function (0) | 2022.08.13 |
Implementation(구현) (0) | 2022.08.11 |
sys.stdin.readline(), Python3와 PyPy3 (0) | 2022.08.05 |
댓글