코테 4

[알고리즘] 다이나믹 프로그래밍

이 글은 유튜버 '동빈나'의 "이것이 취업을 위한 코딩 테스트다 with 파이썬" 강의를 보고 작성한 글이며, 강의 링크는 아래를 참고하면 된다. https://www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC 다이나믹 프로그래밍 다이나믹 프로그래밍은 메모리를 적절히 사용하여 수행 시간 효율성을 비약적으로 향상시키는 방법이다. 이미 계산된 결과(작은 문제)는 별도의 메모리 영역에 저장하여 다시 계산하지 않도록 한다. 다이나믹 프로그래밍의 구현은 일반적으로 두 가지 방식(탑다운과 보텀업)으로 구성된다. 탑다운 위에서부터 아래로 내려간다고 하여 하향식 방식이라 부른다. 보텀업 아래에서부터 위로 올라간다 하여 상향식 방식이라..

Algorithm 2023.08.11

[알고리즘] 그래프 탐색 알고리즘: DFS/BFS

이 글은 유튜버 '동빈나'의 "이것이 취업을 위한 코딩 테스트다 with 파이썬" 강의를 보고 작성한 글이며, 강의 링크는 아래를 참고하면 된다. https://www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC 탐색 탐색(Search)이란, 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정이다. 대표적인 그래프 탐색 알고리즘으로는 DFS와 BFS가 있다. DFS/BFS는 코딩 테스트에서 매우 자주 등장하는 유형이므로 반드시 숙지해야 한다. DFS와 BFS를 이해하기 위한 자료구조 및 알고리즘에 대해 살펴보도록 하자. 스택 자료구조 📚 스택 자료구조는 먼저 들어온 데이터가 나중에 나가는 형식(선입후출)의 자료구조이다. ..

Algorithm 2023.07.21

[알고리즘] 구현

이 글은 유튜버 '동빈나'의 "이것이 취업을 위한 코딩 테스트다 with 파이썬" 강의를 보고 작성한 글이며, 강의 링크는 아래를 참고하면 된다. https://www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC 구현 구현이란, 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정을 말한다. 흔히 알고리즘 대회에서 구현 유형의 문제는 풀이는 떠올리는 것은 쉽지만, 소스코드로 옮기기 어려운 문제를 의미한다. 구현 유형의 예시 알고리즘은 간단한데, 코드가 지나칠 만큼 길어지는 문제 실수 연산을 다루고, 특정 소수점 자리까지 출력해야 하는 문제 문자열을 특정한 기준에 따라서 끊어 처리해야 하는 문제 적절한 라이브러리를 찾아서 사용해..

Algorithm 2023.07.16

[알고리즘] 그리디 알고리즘 (Greedy Algorithm)

이 글은 유튜버 '동빈나'의 "이것이 취업을 위한 코딩 테스트다 with 파이썬" 강의를 보고 작성한 글이며, 강의 링크는 아래를 참고하면 된다. https://www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC 그리디 알고리즘 (Greedy Algorithm) 그리디 알고리즘(탐욕적인 방법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미한다. 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구한다. 그리디 해법은 그 정당성 분석이 중요하며, 단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토하는 과정이 필요하다. 예시 [문제 상황] 루트..

Algorithm 2023.07.13