강의 https://www.youtube.com/watch?v=mBeyFsHqzHg&list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY&index=4 문제 https://github.com/encrypted-def/basic-algo-lecture/
강의 https://www.youtube.com/watch?v=C6MX5u7r72E&t=56 문제 https://github.com/encrypted-def/basic-algo-lecture/blob/master/workbook/0x04.md 특징 연결리스트에서 탐
강의 https://www.youtube.com/watch?v=0DsyCXIN7Wg&list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY&index=6 문제 https://github.com/encrypted-def/basic-algo-lecture/
https://www.youtube.com/watch?v=D_fwSy5tRAY&list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY&index=7FIFO 자료구조. 선입선출원소 추가 제거 O(1)코딩테스트에선 push의 최대횟수가 정해져 있어
강의 https://www.youtube.com/watch?v=0mEzJ4S1d8o 특징 double-ended queue 원소의 추가 O(1) 원소의 제거 O(1) STL dequeue은 인덱스로 접근이 가능하다. (STL queue는 인덱스로 접근 불가능!)
강의 https://www.youtube.com/watch?v=cdjjk-ryPKc 문제 해결 방법 여는 괄호가 나오면 스택에 추가 닫는 괄호가 나왔을 경우, 2-1. 스택이 비어있으면 올바르지 않은 괄호 쌍 2-2. 스택의 top이 짝이 맞지 않는 괄호일
강의 https://www.youtube.com/watch?v=ftOmGdm95XI&list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY&index=10 설명 BFS란? Breadth(폭) First Search 다차원 배열에서 각 칸을 방문할 때
강의 https://www.youtube.com/watch?v=93jy2yUYfVE&list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY&index=11 설명 DFS? Depth(깊이) First Search 다차원 배열에서 각 칸을 방문할 때 깊이
강의 https://www.youtube.com/watch?v=8vDDJm5EewM&list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY&index=12 설명 재귀 함수는 base condition이 있어야 함! base condition으로 수렴하
강의 https://www.youtube.com/watch?v=Enz2csssTCs&t=3s 설명 해를 찾는 도중 해가 아니어서 막히면, 되돌아가서 다시 해를 찾아가는 기법 dfs와의 차이점: dfs는 모두 탐색. backtracking은 막히면 더 깊이 들어가지
강의 https://youtu.be/jZwf4OPlhtk?si=bp2RTqhZAIHz_FVJ 설명 그냥 노가다 문제 브루트포스 알고리즘 같은 거 써야 하는 문제 문제 https://github.com/encrypted-def/basic-algo-lecture/blo
강의 https://youtu.be/59fZkZO0Bo4?si=L7IS5zTnwv4BWlLV 설명 선택 정렬 O(N^2) 버블 정렬 O(N^2) merge sort 재귀적으로 정렬하는 함수 O(NlogN) 얻어갈 것: `a[aidx] < b[bidx] 말고
https://youtu.be/dq5t1woLJMw?si=TnquGAhv_QEuNAkC$O(N+K)$오 저번에 10989 문제가 counting sort로 푼 거였구나빈도수를 저장해놓고 오름차순대로 빈도수만큼 숫자를 출력해주면 된다.단점은 수의 범위에 해당하는
https://galid1.tistory.com/507 👍👍 다이나믹 프로그래밍이란? -> 큰 문제를 작은 문제로 쪼개어 푸는 것 이전 단계의 최적해를 가지고 현재 단계의 최적해를 구할 수 있을 때 dp로 풀면 됨. dp는 dfs로도 풀 수 있음. 대신 그럼
https://blog.encrypted.gg/975 그렇다고 한다! 그리디는 대충 경험만 해보고 넘겨야지 11047 11931 모르겠어서 풀이 보고 풀었다. 끝나는 시간이 빠른 것부터 선택해나가야 함! 2217 max 사용 익숙해지기 1026 흠 같은 실버 문제들인데 dp 문제들보다 체감 난이도가 훨씬 쉽다. dp 문제를 더 열심히 풀어야 ...
그냥 이 표를 외우는 게 빠를 것 같다. 시간복잡도 공간복잡도 파악 아 맞다 이런 게 있었지 c++에서 reference로 인자를 넘기면 복사 비용이 발생하지 않는다. ` 알아두기. ex) find 5430 | AC...
0x09 Breadth First Search 너비 우선 탐색! ✅ BFS vs DFS 핵심 비교 | 항목 | BFS (너비 우선 탐색) | DFS (깊이 우선 탐색) | | ------------ | --------------------- | ---------------------------- | | 탐색 방향...
0x09 2146 | 다리 만들기 처음 버전 맞긴 맞았다. 근데 개선의 여지가 있었다. 지금은 각 섬마다 bfs를 하는데, 동시에 bfs를 하도록 구현할 수 있다. 개선 버전 처음에 모든 섬의 육지 칸을 큐에 다 넣고 시작한다. 즉, 각 섬에서 동시에 바다로 확
0x0A DFS 깊이 우선 탐색. DFS는 문제가 따로 없다. 다차원 배열 순회 문제는 DFS 보다 BFS로 풀어야 함. 나중에 그래프와 트리에선 DFS가 필요하다. 0x0B 재귀 귀납적 사고방식이 돼야 한다.. "1번 도미노가 쓰러진다', 'k번 도미노가 쓰러지면
0x0C 백트래킹 "현재 상태에서 가능한 모든 선택지를 다 플레이해보는 방법" -> 난 지금 g++로 컴파일 중이었는데 이렇게 컴파일 옵션을 설정하고 있었다. 이 경우 최적화 없이 디버깅 모드로 컴파일 되는 거였음. 그래서 이렇게 해주면 된다. > g++ 기본 설
[바킹독의 실전 알고리즘] 복습 - 0x0D - 시뮬레이션 (1)
13335 | 트럭 트럭은 무조건 1초에 거리 1만큼 전진한다. 이때 새로운 트럭이 다리에 올라갈 수 있다면 진입시키고, 불가능하다면 0을 큐에 넣어 다리 위 공간을 유지한다. 0을 넣어주지 않으면 트럭이 들어오지 못하고 있는 동안에도 앞 트럭과 뒷 트럭 간의 간격