DFS && BFS
깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS) 알고리즘의 차이점과 구현 방법을 설명합니다. 백준 1260번 문제를 통해 그래프 탐색 방법을 이해하고, Stack과 Queue를 활용한 구현 방법을 학습합니다.
깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS) 알고리즘의 차이점과 구현 방법을 설명합니다. 백준 1260번 문제를 통해 그래프 탐색 방법을 이해하고, Stack과 Queue를 활용한 구현 방법을 학습합니다.
🔃 Java 람다식으로 2차원 배열 정렬하기 (오름차순 / 내림차순) ✅ 정렬 기준 x 오름차순 → x가 같으면 y 오름차순 x 내림차순 → x가 같으면 y 내림차순 int N = Integer.parseInt(br.readLine()); // x,y 좌표를 저장할 배열 new int[N][2]; int[][] po...
시간 복잡도(Time Complexity)의 개념과 각종 알고리즘의 시간 복잡도를 설명합니다. O(1)부터 O(N!)까지의 복잡도를 이해하고, 각 복잡도별 가능한 입력 크기를 학습합니다.
이진 탐색에서의 lowerBound와 upperBound 개념을 설명합니다. 정렬된 배열에서 특정 값의 개수를 효율적으로 구하는 방법과 백준 10816번 문제 해결 방법을 학습합니다.
파라메트릭 서치(Parametric Search) 알고리즘의 개념과 활용 방법을 설명합니다. 이진 탐색을 활용하여 최적의 조건을 만족하는 값을 찾는 방법을 이해하고, 실전 문제 적용 사례를 학습합니다.
이진 탐색(Binary Search) 알고리즘의 개념과 구현 방법을 설명합니다. 정렬된 배열에서의 효율적인 탐색 방법을 이해하고, Java에서의 구현 방법과 시간 복잡도를 학습합니다.
우선순위 큐(PriorityQueue)의 개념과 동작 원리를 설명합니다. 힙(Heap) 기반의 구조를 이해하고, Java에서의 구현 방법과 실전 활용 사례를 학습합니다.
HashSet과 HashMap의 차이점과 각각의 특징을 설명합니다. Set과 Map 자료구조의 활용 시점을 이해하고, Java에서의 구현 방법과 시간 복잡도를 학습합니다.
ArrayDeque 자료구조의 특징과 활용 방법을 설명합니다. 양방향 큐로서의 장점을 이해하고, Java에서의 구현 방법과 실전 활용 사례를 학습합니다.
비트마스킹(Bitmasking) 기법을 활용한 부분집합 생성 방법을 설명합니다. 이진수 연산을 통해 효율적으로 부분집합을 탐색하고, 합이 특정 값인 부분집합의 개수를 구하는 방법을 학습합니다.