전체 글 (92) 썸네일형 리스트형 [Algorithm 기초] 투 포인터 Two Pointer (투 포인터) - 두 개의 포인터를 사용하여 문자열, 배열, List에서 원하는 값을 찾는 선형 구조 알고리즘 - 포인터 배치 방법 --> 같은 방향에서 시작 : 첫 번째 원소에 둘 다 배치 --> 서로 다른 방향에서 시작 : 첫 번째 원소와 마지막 원소에 배치 - 한 번의 반복으로 모든 요소를 처리하기에 효율적이며 다중 for문의 복잡도를 좀 더 선형적으로 풀 수 있음 알고리즘 복잡도 : O(n) 투 포인터의 종류 1. 고정 길이 슬라이딩 윈도우 - 고정된 길이의 윈도우를 사용하여 배열이나 리스트를 탐색 - 윈도우의 크기를 일정하게 유지하면서 왼쪽 포인터와 오른쪽 포인터를 이동시키며 필요한 계산을 수행 - 부분 배열의 합이나 평균을 계산하는 등의 문제에 사용 2. 가변 길이 슬라이.. [Algoritm 기초연습] 백준 1920 수 찾기 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net //이진탐색 scanner 사용 버전 public class binarySearchPractice06 { public static int binarySearch(int[] array, int target){ if (array == null || array.length == 0){ return -1; } int left = 0; int right = .. [Algorithm 기초] 이진 탐색 이진 탐색 (Binary Search) - 정렬된 상태의 데이터에서 특정값을 빠르게 탐색하는 방법 - 찾고자 하는 값과 데이터 중앙에 있는 값과 비교 - 찾고자 하는 값이 더 작으면 데이터 왼쪽 부분에서 이진 탐색 - 찾고자 하는 값이 더 크면 데이터 오른쪽 부분에서 이진 탐색 알고리즘 복잡도 : O(logn) //이진탐색 사용예제01 //20240224 알고리즘 - 이진 탐색 public class binarySearch { //반복문 구조 버전 public static int binarySearch(int arr[] , int target){ int left = 0; int right = arr.length - 1; while (left right){ return -1; } int mid = (lef.. 이전 1 ··· 13 14 15 16 17 18 19 ··· 31 다음