본문 바로가기

개인 공부/이코테4

이코테 - 다이나믹 프로그래밍(dp) 이코테 - 다이나믹 프로그래밍 본 게시물은 이것이 코딩테스트다(저자 나동빈님)의 책을 구매하고 공부하는 과정에서 남기는 정보공유의 목적보다 개인적인 기록에 가까운 포스팅입니다. 항상 이런저런 이유로 알고리즘 풀이를 신경끄고 살다가 이제 졸업을 앞두게 되니 코딩테스트를 맞닥뜨리게 되었다. 한번도 제대로 준비해본적이 없어서 문제 대충 읽고 구현하는 연습만 했더니 난이도가 있는 문제는 하나도 못풀었다. 어떻게 푸는거지 하면서 찾아보니 내가 못 푼 문제는 대부분 DP 문제였다... 올 하반기동안은 알고리즘 실력을 늘리는데에 집중해보자 !!! 다이나믹 프로그래밍이란? 다이나믹 프로그래밍은 완전탐색을 했을때 매우 비효율적인 시간복잡도를 가지고 하는 문제라도 다이나믹 프로그래밍을 이용하면 시간 복잡도를 획기적으로 줄.. 2022. 9. 16.
이코테 - DFS & BFS 이코테 - DFS & BFS 본 게시물은 이것이 코딩테스트다(저자 나동빈님)의 책을 구매하고 공부하는 과정에서 남기는 정보공유의 목적보다 개인적인 기록에 가까운 포스팅입니다. 작년 여름에 구매한 책을 봉인해뒀다가 다시 꺼내들었다. 어떻게 하다보니 알고리즘까지 다 수강한 상태에서 다시 공부하게됐는데 좀 수월한면이 있는거같다. 이번 챕터는 DFS 와 BFS 이다. 개념은 다 알고 있기때문에 가볍게 복습하는 느낌으로 작성할 예정이다. 스택과 큐 구현 스택구현은 따로 라이브러리 호출없이 append 함수와 pop 함수를 활용해서 구현한다. 큐는 deque 라이브러리를 사용하고, append와 popleft함수를 활용한다 DFS https://man-25-1.tistory.com/184 [강의노트] 그래프 순회 .. 2022. 4. 9.
이코테 - 구현: 시뮬레이션과 완전 탐색 시뮬레이션과 완전 탐색 본 게시물은 이것이 코딩테스트다(저자 나동빈님)의 책을 구매하고 공부하는 과정에서 남기는 기록에 가까운 포스팅입니다. 이번 포스팅에서는 구현 알고리즘 중 시뮬레이션과 완전 탐색에 대해서 다루게 될 것이다. 구현이란 쉽게 말해서 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정이다. 내가 C프로그래밍을 수강했었을때 풀이한 여러가지 유형의 문제들도 다 구현문제라고 생각하면 된다. 흔히 알고리즘 대회에서 말하는 구현 유형의 문제란 풀이를 떠올리는 것은 쉽지만 소스코드로 작성하는 것이 어려운 문제를 지칭한다. 1. 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제 2. 실수 연산을 다루고, 특정 소수점 자리까지 출력해야하는 문제 3. 문자열을 특정한 기준에 따라서 끊어 처리해야하는 문제.. 2021. 8. 18.
이코테 - 그리디 알고리즘 그리디 알고리즘이란? 본 게시물은 이것이 코딩테스트다(저자 나동빈님)의 책을 구매하고 공부하는 과정에서 남기는 기록에 가까운 포스팅입니다. 따라서 이 게시물에 대한 저작권은 책의 저자인 나동빈님에게 있음을 알립니다. 그리디 알고리즘은 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미한다. + 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있어야함. + 그리디 해법은 그 정당성 분석이 중요하다. 이 과정에서 단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토합니다. 위와 같은 문제가 주어질 때, 어떤 아이디어를 생각할 수 있을까? 첫번째 가장 단순하게 떠오르는 아이디어는, 각 노드에서 다른 노드로 이동해야하는 선택상황마다 가장 큰 값만 고르.. 2021. 8. 11.