0. 알고리즘 복잡도 1) 알고리즘 복잡도(시간 복잡도) ✔ 알고리즘 평가 지표 코테 시 메모리 사용량, 시간 복잡도를 중점으로 생각해야 함 ✔ 시간 복잡도 입력 크기의 값에 대해 단위 연산을 몇 번 수행하는지 계싼하여 수행시간을 평가하는 방법 3가지 점근적 표현법 Big-O(빅오): 최악의 상황을 고려 성능 측정 결과 표현 big-Θ(세타): 평균적인 경우 성능 측정 결과 표현 big-Ω(오메가): 최선의 상황일 때 성능 측정 결과 표현 ✔ Big-O 표기법 O(1) 상수일 때: 아무리 커도 상수이므로 1로 표현 function bigO(n) { let sum - 0; // 1회 sum = n * 2; // 1회 return sum; // 1회 } O(N), O(N²) for문이 몇(n) 개로 중첩 되..
개발 뜯기
9. Collection(2) 5) Date 표준 Built-in 객체로써 날짜와 시간을 위한 속성값과 메서드를 제공하는 객체 Date 객체는 1970년 1월 1일 UTC 자정과의 시간 차이를 밀리초로 나타내는 정수 값으로 표현 생성자 및 method Date 객체 생성자: new Date() 현재 시간 기준 문자열: Date() 날짜 정보 얻기 (년, 월, 일): Date.getFullYear(), Date.getMonth(), Date.getDate() 날짜 정보 얻기 (시, 분, 초): Date.getHours(), Date.getMinutes(), Date.getSeconds() 날짜 정보 설정 (년, 월, 일): Date.setFullYear(), Date.setMonth(), Date.setD..
8. Collection(1) 1) 자바스크립트가 제공하는 Collection 구조 혹은 비구조화 형태로 프로그래밍 언어가 제공하는 값을 담을 수 있는 공간 Indexed Collection: Array, Typed Array Keyed Collection: Object, Map, Weak Map, Set, Weak Set 2) Map 다양한 자료형의 key를 허용하고 key-value 형태의 자료형을 저장 할 수 있는 Collection Map은 Object 대비 다양한 key의 사용을 허용 값의 추가, 삭제 시 메서드를 통해 수행이 필요 property & method 생성자: new Map() 개수 확인: Map.size 요소 추가: Map.set() 요소 접근: Map.get() 요소 삭제: Ma..
7. 고차함수와 생성자 1) 고차함수 ✔ 고차함수 하나 이상의 함수를 매개변수로 취하거나 함수를 결과로 반환하는 함수 매개변수로 전달되는 함수: 콜백 함수 대표 배열 조작 method 임의 정렬: Array.sort(callback function) 반복 작업: Array.forEach() 콜백함수 결과 배열 반환: Array.map() 조건을 만족하는 하나의 값 반환: Array.find() 조건을 만족하는 값 배열로 반환: Array.filter() 누적 결과 반환: Array.reduce() ✔ 고차함수: sort() 🤯 sort()의 문제와 한계점 문제: 일의 자리 4가 10의 자리보다 뒤에 정렬됨 원인: 정렬 될 때 배열의 요소가 일시적으로 문자열로 변경되어 발생 한계점: 대소문자 구분없이 정렬..
6. Array(배열) 1) Array ✔ 배열(array) 여러 개체(Entity)값을 순차적으로 나열한 자료 구조 배열 내 값을 요소(element)라고 하며, 배열 요소는 index로 접근 대표 속성과 메서드 배열 크기 및 여부 확인: Array.length, Array.isArray() 배열 추가 및 삭제: Array.push(), Array.pop(), Array.shift(), Array.unshift(), Array.splice(), Array.slice() 등 배열 탐색: Array.indexOf(), Array.lastIndexOf(), Array.includes() 2) 배열 기본 메서드 ✔ 배열 선언, 접근, 속성 선언: "new Array()" 혹은 "[]"을 통해 선언, 사이즈 혹..