javascript(16)
-
[JS] 선형 자료구조 큐(Queue) 구현하기
큐(Queue)란? 가장 먼저 들어간 데이터가 먼저 나오는 FIFO(First In First Out) 기반의 선형 자료구조이다. 구현 메서드(method) 데이터 전체 획득 Queue.getBuffer() 비어 있는지 확인 Queue.isEmpty() 데이터 추가/삭제 Queue.enqueue()/Queue.dequeue() 첫 번째 데이터 조회 Queue.front() 사이즈 확인 Queue.size() 전체 삭제 Queue.clear() 큐(Queue)는 먼저 온 사람이 먼저 나가는 줄 서기와 같다고 볼 수 있다 이메일이나 메시지, 쇼핑몰 주문, 콜센터 전화 등 일상에서 많이 찾아볼 수 있다 큐 구현 - getBuffer(), isEmpty() // 생성자 함수 function Queue(array..
2022.03.15 -
[JS] 선형 자료구조 스택(Stack) 구현하기
스택(Stack)이란? 가장 늦게 들어간 데이터가 가장 먼저 나오는 LIFO(Last In First Out) 기반의 선형 자료구조이다. 구현 메서드(method) 데이터 전체 획득 Stack.getBuffer() 비어 있는지 확인 Stack.isEmpty() 데이터 추가/삭제 Stack.push()/Stack.pop() 마지막 데이터 조회 Stack.peek() 사이즈 확인 Stack.size() 데이터 위치 확인 Stack.indexOf() 존재 여부 확인 Stack.includes() Windows 단축키인 Ctrl + z 실행취소(undo) 기능도 스택(Stack) 기반으로 구현되었고 웹 브라우저에서 이전 페이지로 이동하는 원리도 스택(Stack)이라고 볼 수 있다 스택 구현 - getBuffer..
2022.03.14 -
[JS] 자바스크립트 배열(Array) 개념 정리
배열(Array)이란? 컴퓨터 과학에서 배열은 번호(index)와 번호에 대응하는 데이터들로 이루어진 자료 구조로 여러 개체(entity) 값을 순차적으로 나열한 선형 자료구조이다. 자바스크립트 배열의 대표 속성(property)과 메서드(method) 배열 크기/여부 확인 Array.length, Array.isArray() 배열 추가/삭제 Array.push(), Array.pop(), Array.shift(), Array.unshift(), Array.splice(), Array.slice 배열 탐색 Array.indexOf(), Array.lastIndexOf(), Array.includes() 배열 변형 Array.sort(), Array.reverse(), Array.join() 배열 반복 A..
2022.03.09 -
[JS] 다차원 배열 (multidimensional array)
다차원 배열 배열(Array) 안에 여러 개의 배열이 존재하는 객체다. 2/3차원 지도 정보, RGB를 저장하는 2차원 사진 파일 등을 표현할 때 활용한다. 2차원 배열 예제 2차원 배열은 array[N][M]으로 접근하며 배열(Array) 전체에 push(), pop()이 가능하다. let array = [ [101, 102, 103], [201, 202, 203], [301, 302, 303], ]; console.log(array); // [ [ 101, 102, 103 ], [ 201, 202, 203 ], [ 301, 302, 303 ] ] console.log(array[0]); // [ 101, 102, 103 ] console.log(array[1][0]); // 201 console.lo..
2022.03.06 -
[JS] Date 객체의 개념과 대표적인 메서드 (get/set)
Date란? 표준 Built-in 객체로써 날짜와 시간을 위한 속성 값과 메서드를 제공하는 객체다. Date 객체는 1970년 1월 1일 UTC(협정 세계시) 자정과의 시간 차이를 밀리초로 나타내는 정수 값으로 표현한다. 생성자 및 대표 메서드(method) Date 객체 생성자 : new Date() 현재 시간 기준 문자열 : Date() 날짜 정보 얻기 (년/월/일) : Date.getFullYear(), Date.getMonth(), Date.getDate() 시간 정보 얻기 (시/분/초/ms) : Date.getHours(), Date.getMinutes(), Date.getSeconds() 날짜 정보 설정 (년/월/일) : Date.setFullYear(), Date.setMonth(), Dat..
2022.03.05 -
[JS] Math 객체의 개념과 대표적인 메서드 11가지
Math란? 표준 Built-in 객체로써 수학적인 연산을 위한 속성 값과 메서드를 제공하는 객체다. Math는 생성자 함수가 아니며 모든 속성과 메서드는 정적이기에 Math.function()으로 언제든지 호출이 가능하다. 대표 속성(property) 및 메서드(method) 오일러 상수 : Math.E PI : Math.PI 절댓값 : Math.abs(x) 최댓값 : Math.max(x) 최솟값 : Math.min(x) 랜덤 난수 값 : Math.random(x) 제곱/제곱근 : Math.pow(x, y), Math.sqrt(x) 반올림/올림/내림 : Math.round(x), Math.ceil(x), Math.floor(x) 최대/최소/절댓값 배열을 인수로 받아 최대/최소 값을 산출하려면 apply..
2022.03.05 -
[JS] 자바스크립트 컬렉션(JavaScript Collection) - Set
Set이란? 자바스크립트의 키 기반 컬렉션(Keyed Collection)으로 ES6(ECMAScript 6)부터 소개되었다. 값(value)만을 저장하며 중복을 허용하지 않는 객체로 유일한 값을 저장할 수 있다. 요소 순서에 의미가 없고 인덱스로 요소에 접근할 수 없는 특징을 가지고 있다. 대표 속성(property) 및 메서드(method) 생성자 : new Set() 개수 확인 : Set.size 요소 추가 : Set.add(value) 요소 삭제 : Set.delete(value) 전체 삭제 : Set.clear() 요소 존재 여부 확인 : Set.has(key) 그 외 메서드 : Set.keys(), Set.values(), Set.entires() 요소 추가/삭제 다양한 자료형을 value로 ..
2022.03.05