일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 선형대수
- 친절한SQL튜닝
- 목록처리
- 자료구조와 함께 배우는 알고리즘 입문
- ㅒ
- 페이징
- 처음 만나는 AI수학 with Python
- GIT
- 데비안
- network configuration
- baeldung
- 티스토리 쿠키 삭제
- 구멍가게코딩단
- Kernighan의 C언어 프로그래밍
- /etc/network/interfaces
- 자료구조와함께배우는알고리즘입문
- 자바편
- 처음 만나는 AI 수학 with Python
- 네트워크 설정
- resttemplate
- 이터레이터
- d
- 서버설정
- 알파회계
- 스프링 시큐리티
- 코드로배우는스프링부트웹프로젝트
- iterator
- 코드로배우는스프링웹프로젝트
- 리눅스
- 스프링부트핵심가이드
- Today
- Total
목록Algorithm&Data structure/패턴 및 접근법(JS) (5)
bright jazz music
function naiveSearch(long, short){ var count = 0; for(var i = 0; i
-데이터 셋을 작은 부분으로 나누고 해결을 반복한다. 이러한 방법을 사용하면 시간복잡도가 크게 감소한다.-정렬, 탐색 등 많은 다른 알고리즘에서 사용된다. - 주로 배열이나 문자열 같은 큰 규모의 데이터셋을 처리한다. 예시: 배열에서 특정 값을 찾는 경우. 선형탐색으로 찾을 수도 있지만 아래처럼 이진탐색 할 수도 있다.function search(array, val) { // 단 배열이 정렬돼 있어야 함 let min = 0; let max = array.length -1; while (min val) { max = middle - 1; } else { return middle; } } ret..
규모가 큰 데이터셋에서 데이터의 하위 집합을 추적하는 문제 있어 유용하다. 배열이나 문자열에서 일련의 데이터를 찾는 경우다.예를 들면 특정 문자열에서 고유한 문자가 연속되어야 하는 경우,"hellothere"--> hel --> el --> l --> lother 또는 배열에서, 일련의 두 원소의 합이 가장 큰 경우를 구하려 할 때maxSubarraySum([1,2,5,2,8,1,5], 2) ==> 10 이런 경우에 윈도우를 하나 만들어야 한다. 이 윈도우는 단일 변수, 하위 배열, 또는 문자열이 될 수도 있다.조건에 따라 이 창문을 이동시킨다. 이동 시작위치와 방향은 자유지만, 일반적으로는 왼쪽(시작점)에서 오른쪽(종료지점)으로 이동한다.경우에 따라 새로운 윈도우를 만들기도 한다. maxSubarra..
한 개의 포인터가 이동하며 조건에 부합하는 값을 찾는 것이 아니라 여러 개의 포인터를 사용하여 값을 찾아내는 방식function sumZero(arr){ for(let i = 0; i 아래는 포인터를 투 개 사용한 투 포인터 방식이다. 포인터를 시작 지점과 끝 지점, 두 개를 사용하여 중앙을 향해 범위를 좁혀오는 방식이다. 단, 배열이 정렬돼 있어야 한다.// 배열이 정렬돼 있어야함.function sumZero(arr) { let left = 0; let right = arr.length - 1; while(left 0) { right--; } else { left++; } }} 예제) 고윳값의 개수다중 포..
빈도수를 세야하는 경우 객체를 활용하면 편리하다.- 문자열과 배열을 반복시킬 때는 for~ of,객체의 속성을 반복시킬 때는 for ~ in 을 사용함에 주의할 것. 빈도수 세기- validAnagram두 개의 문자열이 주어졌을 때, 두 번째 문자열이 첫 번째 문자열의 애너그램인지 확인하는 함수를 작성합니다. 애너그램은 다른 글자의 글자를 재배열하여 형성된 단어, 구 또는 이름입니다. (예시: cinema -> iceman)예시:validAnagram('', '') // truevalidAnagram('aaz', 'zza') // falsevalidAnagram('anagram', 'nagaram') // truevalidAnagram("rat","car") // false) // falsevalidAn..