implementation_2
1. 구현 문제 설계부터 검증이 많이 필요한 영역이다. 2. 문제 설명 부당한 퍼즐 –> boj 15501 (제한시간 -> 2초) 입력 첫째 줄에 n이 주어진다(1 ≤ n ≤ 1,000,000). 둘째 줄에 1에서 n까지의 수가 한 번만 나타나는 수열이 순서대로 주어진다. 셋째 줄에 주어진 두 연산을 수행해서 구성할 수 있...
1. 구현 문제 설계부터 검증이 많이 필요한 영역이다. 2. 문제 설명 부당한 퍼즐 –> boj 15501 (제한시간 -> 2초) 입력 첫째 줄에 n이 주어진다(1 ≤ n ≤ 1,000,000). 둘째 줄에 1에서 n까지의 수가 한 번만 나타나는 수열이 순서대로 주어진다. 셋째 줄에 주어진 두 연산을 수행해서 구성할 수 있...
1. 구현 문제 설계부터 검증이 많이 필요한 영역이다. 2. 문제 설명 횃불이의 모험 –> boj 34557 (제한시간 -> 1초) 입력 첫째 줄에 맵의 크기를 나타내는 정수 $N$와 프레임의 길이 $M$가 주어집니다. ( $1 \leq N \leq 100; 1 \leq M \leq 10^{6}$) 둘째 줄부터 $N$개...
1. 백트랙킹(Backtracking) 개념 백트랙킹은 “모든 경우의 수”를 탐색하는 완전탐색의 일종으로, 불필요한 경로(더 이상 해답이 될 수 없는 상태)는 미리 탐색하지 않고 가지치기(pruning)해서 효율을 올리는 알고리즘입니다. 트리의 각 가지(상태공간)를 재귀적으로 탐색, 필요한 경우 이전 상태로 되돌아가 다른 선택을 시도 깊이...
특별한 다이얼 자물쇠 일반적인 다이얼 자물쇠는 위로 돌리면 숫자가 증가, 아래로 돌리면 숫자가 감소합니다. 하지만 이 다이얼얼 자물쇠는 조금 특별합니다. 특징은 다음과 같습니다: 특정 다이얼에서 up(+) 또는 down(-) 회전을 하면, 그 다이얼부터 마지막 다이얼까지 모두 함께 회전한다. 예를 들어, 다이얼이 12자리라고 할 때:...
Two Pointer (투포인터) 투포인터 알고리즘은 배열을 순회할 때 두 개의 포인터(start, end) 를 사용하여 효율적으로 답을 찾는 방법이다. 대표적으로 연속된 구간(슬라이딩 윈도우) 과 불연속(정렬 후 양끝 포인터 탐색) 상황에서 쓰인다. 시간 복잡도 -> O(N) 1. 연속 구간 (슬라이딩 윈도우) 연속된 배열 구간의...
예제를 바탕으로 이해하자 백준 1260 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤...
🔃 Java 람다식으로 2차원 배열 정렬하기 (오름차순 / 내림차순) ✅ 정렬 기준 x 오름차순 → x가 같으면 y 오름차순 x 내림차순 → x가 같으면 y 내림차순 int N = Integer.parseInt(br.readLine()); // x,y 좌표를 저장할 배열 new int[N][2]; int[][] po...
📊 time Complexity 1️⃣ 완전 이중 반복문 (Full Nested Loop) for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { // 실행 코드 } } 📌 완전 이중 반복문의 시간 복잡도 각 반복문의 범위: 1 ~ N...
📌 이진 탐색에서의 lowerBound와 upperBound 함수 의미 조건 반환값 lowerBound(arr, x) x 이상(≥)의 첫 위치 arr[i] >= x x가 처음 나타나는 위치 또는 들어갈 위치 ...
🔍 Parametric Search (파라메트릭 서치) 파라메트릭 서치란 어떤 조건을 만족하는 ‘최적의 값(최소/최대)’을 이진 탐색을 통해 찾는 알고리즘입니다. 정확한 값을 찾는 일반 이진 탐색과 달리, 조건을 만족하는 가장 작은 값 (또는 큰 값) 을 찾는 데에 초점이 있습니다. ✅ 활용 예시 최대한도로 가능한 최소 비용, 최소한도로...
