목록2024/11/19 (2)
마이라이프해피라이프
✅ 문제https://www.acmicpc.net/problem/2805✅ 이진 탐색이진 탐색 문제의 특징이진 탐색 문제는 대부분 데이터가 굉장히 많아서, 탐색에 시간이 굉장히 오래걸릴 거 같은 느낌이 드는 문제이다.이 문제 역시도 데이터(나무의 높이)가 최대 1000000000 일 수 있어, 1씩 높여가면서 탐색을 하려고 할 때 시간 초과가 날 거라는 건 쉽게 짐작할 수 있다.참고로 이 자료를 저장할 수 있을 만한 자료형에 적절히 저장해야 한다. (long long 등)이진 탐색 문제를 풀려면?이진 탐색 문제에서는 정렬을 하거나, 최대 최소 값을 아는 것이 중요하다.중간값을 적절히 찾아야하고, start지점과 end지점을 적절히 업데이트 해야 한다.종료 조건도 중요하다. 언제까지 이 탐색을 계속할 것인..
문제https://www.acmicpc.net/problem/24444BFS와 DFS?그래프 탐색 알고리즘으로는 흔히 아는 BFS와 DFS가 있다.BFS는 너비 우선 탐색이고, DFS는 깊이 우선 탐색이다.1번과 연결된 노드가 2, 3이고 2와 연결된 노드가 4이라고 가정해 보자. BFS로 탐색하면 1 -> 2 -> 3 -> 4의 경로로 탐색할 것이다. DFS로 탐색하면 1 -> 2 -> 3 -> 4의 경로로 탐색할 것이다. (오름차순으로 방문한다고 가정했을 때) BFS는 같은 깊이의 노드를 모두 탐색하고 난 다음에 더 깊은 노드로 들어간다. DFS는 연결된 가장 깊은 노드로 먼저 이동한다.BFS는 어떻게 구현되는가?BFS는 주로 deque로 구현한다. 왜냐하면, deque는 push_back(), po..