영어 단어로 "탐욕"이라는 뜻으로, 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미합니다. 알고리즘 문제에서는 최소한의 아이디어를 떠올릴 수 있는 능력을 발휘하는지 판단하는 경우가 있어, 이럴 경우 "Greedy" 방법을 이용해서 해결합니다.가장 좋은 것만 선택
책에서는 '완전 탐색', '시뮬레이션' 유형에 대해서 모두 구현으로 구분하였습니다. '완전 탐색'은 모든 경우의 수를 계산하는 해결 방법이며, '시뮬레이션'은 문제에서 제시한 방법을 한 단계씩 차례대로 해결하는 방법입니다.
DFS, BFS에 대한 개념을 배우기에 앞서 '스택(Stack)', '큐(Queue)', '재귀함수(Recursive Function)'에 대한 개념을 알고 진행하면 이해가 쉬울 것입니다.한국말로는 "쌓다"라는 의미로 해석되며 선입후출(FILO : First In La
데이터를 특정한 기준에 따라 순서대로 나열하는 것입니다. 알고리즘 중에서 가장 많이 사용하는 방법으로 눈 감고도 풀 수 있을 정도로 연습할 필요가 있습니다. 또한, '이진 탐색'에 대해서 배우려면 정렬 알고리즘 개념에 대해 필요하기 때문에 이 내용에 대해서 넘어가면 곤
리스트(배열) 안에 있는 특정한 데이터를 찾기 위해 앞아서부터 데이털르 하나씩 차례대로 확인하는 방법입니다. '막대기를 반으로 쪼개듯이', 이진 탐색은 찾으려는 데이터와 중간점 위치에 있는 데이터를 반복적으로 비교하는 탐색법입니다. 순차 탐색을 하면 시간 복잡도는 $O
어떤 문제를 풀기 위해서 메모리 공간을 약간 더 사용하면 연산 속도를 비약적으로 증가시킬 수 있는 대표적인 방법이다. 다이나믹 프로그래밍 중에서 다양한 방식이 있지만 대표적으로 탑다운, 보텀업, 메모이제이션 기법이 있다.