목록분류 전체보기 (294)
Muscardinus
JavaScript의 7가지 Types Number Boolean String Undefined Null Symbol Object 참고: Undefined 와 Null의 차이 Undefined Vs Null Undefined is the absence of definition, it has yet to be defined, and nulll is the absence of value, there is no value there 이 7가지의 Types 중 Object는 가장 범용적인 자료형이라고 생각해도 좋다. 거의 모든 것이 Object라고 해도 과언이 아니다. • Booleans can be objects (if defined with the new keyword) • Numbers can be obj..
//#1 - Sort 10 schools around your house by distance: Insertion Sort Sort 갯수가 얼마 없고 공간 복잡도가 O(1) //#2 - eBay sorts listings by the current Bid amount: 숫자로 Sorting Radix Or Counting Sort //#3 - Sport scores on ESPN 각 경기마다 점수를 매기는 방식이 제각각 Quick Sort //#4 - Massive database (can't fit all into memory) needs to sort through past year's user data Merge Sort //#5 - Almost sorted Udemy review data need..
const numbers = [99, 44, 6, 2, 1, 5, 63, 87, 283, 4, 0]; function mergeSort (array) { if (array.length === 1) { return array } const middle = Math.floor(array.length / 2); const left = array.slice(0,middle); const right = array.slice(middle); return merge( mergeSort(left), mergeSort(right) ) } function merge(left, right){ let retArr = []; let i = 0; // left Index let j = 0; // right Index while(..
const numbers = [99, 44, 6, 2, 1, 5, 63, 87, 283, 4, 0]; function insertionSort(array) { for (let i = 0; i array[j - 1] && array[i] < array[j]) array.splice(j, 0, array.splice(i,1)[0]); } } } return array; } insertionSort(numbers); // Space Complexity : O(1) //..
const numbers = [99, 44, 6, 2, 1, 5, 63, 87, 283, 4, 0]; function selectionSort(array) { for (let i = 0; i array[j]) minIndex = j; } array[i] = array[minIndex]; array[minIndex] = temp; } return array; } selectionSort(numbers); // Space Complexity : O(1) // Time Complexit..
const numbers = [99, 44, 6, 2, 1, 5, 63, 87, 283, 4, 0]; function bubbleSort(array) { for (let i = 0; i array[j+1]) { let temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } } return array; } bubbleSort(numbers); // Space Complexity : O(1) // Time Complexity(Worst): O(n^2)
개발하는데에 있어서 새로운 것을 계속 개발하는 것도 좋지만, 기존의 코드를 계속 보완하는 것 또한 중요하다. 보완을 위해서 하는 행동 중 한 가지가 바로 Error을 찾는 것이고 그것을 처리하는 Logic을 구현하는 것이다. Error 선언 우리는 Error 생성자를 통하여 오류 객체를 생성한다. Error 객체의 인스턴스는 런타임 오류가 발생했을때 던져진다. 그리고 Error 객체 안에는 두 가지의 property가 있다. 그것은 message와 stack이다. message -> Error을 선언할 때 arguments로 준 인자(첫 번째 인자)를 그대로 보여준다. stack -> Error를 일으킨 파일에 대한 history를 전달해준다. let err = new Error("I'm Error");..
What is Modules ? 모듈은 단지 한 개의 파일에 불과하다. 개별의 파일 안에는 개별적인 로직이 있으며, 일반적으로 모듈은 대개 클래스 혹은 특정한 목적을 가진 복수의 함수로 구성된 라이브러리 하나로 구성된다. Module Patterns Block Scope이 나오기 전에 JS에는 Global Scope과 Function Scope이 존재하였고, Module Pattern이라는 개념을 도입하기 위해서 JS에서는 Function Scope 위에 Module Scope을 도입하였다. 이를 통하여 우리는 Globla Scope에 선언하지 않고도, 함수들 끼리 변수들을 공유할 수 있었다. 함수로 된 모듈은 단지 IIFE(Immediately Invoked Function Expression) 형태였..