⭐️ DFS/BFS ⭐️ - 그래프 탐색 알고리즘으로 원하는 데이터를 찾는 과정 📌 사전 지식 ✅ 스택 (STACK) : LIFO(Last In First Out, 후입선출) 의 자료구조를 의미 , 입구와 추구가 동일한 형태로 시각화 할 수 있음 (ex; 박스 쌓고 내리기) 🐍 Python 🐍 스택 사용법 1 (내장함수 이용방법) 📋 : list를 통해 append(), pop() 등이 있음 -> 시간 복잡도가 상수시간이기 때문에 그대로 사용해도 괜찮음 stack_list = [2, 5, 3, 4] stack_list.append(1) # 괄호 내의 요소를 리스트 맨 뒤에 넣음 # stack_list = [2, 5, 3, 4, 1] stack_list.pop() # 리스트 맨 뒤의 요소를 꺼내고 리스트에..
⭐️ 그리디 ⭐️ 탐욕법 : 현재 상황에서 지금 당장 좋은 것만 고르는 방법 (현재 선택이 나중에 미칠 영향을 고려하지 않음 여기서 나중에 미칠 영향을 고려하는 것이 다익스트라, 플로이드 위셜 알고리즘) 예시 N원을 거슬러 주어야할 때 가장적은 숫자의 화폐를 이용해 거슬러주는 경우는? (잔돈 , 500 / 100 / 50 / 10 ) → 대표적인 그리디 알고리즘으로 해결할 수 있는 방법 “가장 큰 화폐 단위로부터 돈을 거슬러 주면되는 것” 문제 해결과정 N원에 대해 500원으로 거슬러 줄 수 있을 만큼 거슬러 줌 100원을 거슬러 줄 수 있을 만큼 거슬러 줌 50 → 10 차례로 거슬러 줌 Python solve n = 1260 # N원이 1260원일 경우 array = [500, 100, 50, 10]..