How do we search? 1. Linear Search(선형 검색) 가장 간단한 방법은 모든 개별 항목을 순서대로 살펴보면서 우리가 원하는 값인지 확인하는 것이다. 위의 방법은 linear Search(선형 검색)로 정렬되지 않은 값(데이터)을 일일이 체킹하는 방식을 말한다. JavaScript는 이 검색 방식(선형 검색)을 이미 구현해놓았다. *통상적으로 Linear Search가 기본 Search값이라 그냥 Search라고도 하는 거 같다. Linear Search == Search 선형 검색을 하는 내장 메소드 목록 indexOf //인자로 넘겨준 값이 배열에 있다면 해당 요소의 index 를 반환하고 아니라면 -1을 반환한다. includes // 값이 있다면 true 없다면 false 반..
1. helper mehtod recursion : 재귀적이지 않은 외부 함수가 재귀적인 내부 함수(inner function)을 호출하는 패턴이다. 헬퍼 함수 혹은 헬퍼 메소드 재귀라고 부른다. 메인 외부 함수를 개발자가 외부에서 호출한다. 이 외부 함수를 호출할 때 인자를 내부로 전달해 줄 수 있다. 그리고 이 외부 함수 내부에는 또 다른 내부 함수가 정의되어 있다. 내부함수는 호출되고 재귀적으로 자기자신을 호출한다. 문제 해결을 위한 하나의 접근법이다. 기본 예시 function outer(input) { // 배열이나 데이터 목록 같은 걸 컴파일해야 할 때 사용 // ? 예시로, 어느 배열에서 모든 홀수 값을 수집하는 것과 같은 작업 let outerScopedaVariable = []; func..
🍕recursion(재귀)가 무엇일까? -자기 자신을 호출하는 절차이다. -우리의 경우는 재귀(함수)는 자기 자신(itself)을 호출하는 함수를 의미한다. 🍕재귀가 적용된 예시 JSON.parse/ JSON.stringify 해당 메소드들은 자바스크립트 엔진으로 실행된다. 모질라(mozilla)의 경우는 라이노(Rhino)라는 자체 실행 엔진이 있다. 이러한 엔진에서 JSON.parse를 원하는대로 작성하는데, 꼭 재귀적으로 작성할 필요는 없다. 하지만, 보통 재귀적으로 작성하는 경우가 많음 documnent.getElementById 와 DOM traversal algorithms (돔 순회 알고리즘) DOM은 모든 요소가 중첩된 트리 구조로 되어있다는 것을 명심하자 e.g. div안의 div가 들어..
🍕분할과 정복 패턴(Divide and Conquer)이란? 이 알고리즘은 주로 배열이나 문자열같은 큰 규모의 데이터셋을 처리한다. (This pattern involves dividing a data set into samller chunks and then repeating a process with a subset of data ) 해당 패턴은 시간 복잡도를 엄청나게 줄일 수 있다. (This pattern can tremendously decrease time complexity.) - 퀵 정렬, 병합 정렬, 이진탐색은 분할 정복 알고리즘의 예시이다. - 분할정복 알고리즘은 정렬이나 탐색 알고리즘(e.g.이진 탐색 트리)으로 넘어가기 전에 살펴봐야 하는 개념이다. 🍕분할정복 과정 Divide ->..
🍕Sliding Window 패턴이란? -This pattern involves creating a window which can either be an array or number from one position to another. -Depending on a certain condition, the window either increases or closes(and a new window is created) -very useful for keeping track of a subset of data in an array/string etc... 배열이나 문자열과 같은 일련의 데이터를 입력하거나 특정 방식으로 연속적인 해당 데이터의 하위 집합을 찾는 경우에 유용하다. (규모가 큰 데이터 셋에서 데이터..
🍕다중 포인터 패턴이란? ※공식이름은 아닙니다. 편의상 부르는 이름이 '다중 포인터' 이 패턴의 개념은 인덱스나 위치에 해당하는 포인터나 값을 만든 다음 특정 조건에 따라 중간 지점에서부터 시작 지점 or 끝 지점 or 양쪽 지점을 향해 이동시키는 것이다. (creating pointers or value that correspond to an index or postion and move towards the beginning, end or middle based on a certain condition ) Very efficient for solving problems with minimal space complexity as well 결론적으로 말하자면 배열이나 문자열과 같은 일종의 선형 구조(li..
🍕Some Patterns (여러 패턴들) *pattern? 일종의 프로그래밍 메커니즘이나 여러 요소를 넣을 수 있는 청사진 정도 Frequency Counter (빈도 카운터) Multiple Pointers Sliding Window Divide and Counquer (분할 정복) Dynamic Programming Greedy Algorithms Backtracking many more ~! 🍕Frequency Counter (빈도 카운터) - 실제로 이런 명칭으로 불리지는 않음 - 자바스크립트 객체를 사용해서 다양한 값과 빈도를 수집함 - 해당 패턴을 사용하면 중첩 루프 또는 배열/문자열을 사용하는 O(N^2) 연산을 피할 수 있습니다. 아래의 예시를 통해서 알아봅시다. Q. 두 개의 배열을 인..
🍕알고리즘이 무엇일까? A process or set of steps to accomplish a certain task. (알고리즘은 특정 작업을 달성하기 위한 과정이나 일련의 단계를 의미한다.) 문제를 해결하기 위해 수행해야 하는 일련의 수학적 단계, 또는 특정한 광고를 사용자에게 제안하는 페북이나 구글의 알고리즘이라고 할 수 있음 How do you improve? 문제 해결을 위한 계획을 수립하기 (문제에 접근하는 방법, 문제를 세분화하기 위한 전략) 자주 사용되는 문제 해결 패턴들을 익히기 🍕문제 해결(Problem Solving) Understand the Problem - 문제를 이해하기 Explore Concrete Examples - 구체적인 예시를 알아보기 경계 조건, 입력값, 출력값 ..
- Total
- Today
- Yesterday
- 형제 요소 선택자
- nvm경로 오류
- aspect-ratio
- 항해99프론트후기
- 프리렌더링확인법
- 타입스크립트 장점
- is()
- 항해99추천비추천
- float 레이아웃
- && 셸 명령어
- text input pattern
- reactAPI
- 원티드 프리온보딩 FE 챌린지
- grid flex
- 프리온보딩 프론트엔드 챌린지 3월
- Prittier
- tilde caret
- 틸드와 캐럿
- 항해99프론트
- ~ ^
- fs모듈 넥스트
- 원티드 FE 프리온보딩 챌린지
- 원티드 프리온보딩 프론트엔드 챌린지 3일차
- getServerSideProps
- 타입스크립트 DT
- D 플래그
- nvm 설치순서
- 원티드 3월 프론트엔드 챌린지
- 부트캠프항해
- getStaticPaths
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |