DP (Dynamic Programming) ; 동적 계획법. 한 가지 문제에 대해서, 단 한번만 풀도록 만들어주는 알고리즘 조건 - 작은 문제에서 반복이 일어남 - 같은 문제는 항상 정답이 같음 예시 문제 https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net https://www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열..
Stack ; LIFO(Last In First Out)구조. - 배열을 이용한 데이터 구조이며, 삽입과 삭제가 리스트 한쪽 끝에서만 이루어지는 제한된 리스트구조 - 이용분야 ; 함수 호출 시 복귀주소 저장, 수식 계산(중위 표기법/전위 표기법/후위 표기법) Queue ; FIFO구조, 변수 2개(tail과 head) 사용 - 리스트의 한쪽 끝에서 원소들이 추가(rear)되고, 다른 한쪽 끝에서 삭제(front)되는 선형리스트 - - 시스템에서, 프로세스의 순차처리와 보조기억장치를 이용한 spool처리 등에 이용 # Spool 처리 ; CPU에서 I/O장치로 보낼 때 임시로 보조기억장치에 저장하는것 무빙 큐 ; 데이터 삭제 시 데이터를 한칸 왼쪽으로 이동시킴 -> 많은 시간적 손실 초래 원형 큐 ; 배열..
해시 ; 다양한 길이를 가진 데이터를 고정된 길이의 데이터로 매핑한 값 - 내부적으로 배열을 사용하여 데이터를 저장하기 때문에 빠른 검색 속도 가짐 - 해시 알고리즘을 통해 고유한 인덱스를 얻음 - 적은 자원으로 많은 데이터를 효율적으로 관리하기 위해 사용 해시 함수 ; 데이터를 효율적으로 관리하기 위해, 임의의 길이의 데이터를 수학적 연산을 통해 고정된 길이의 데이터로 매핑하는 함수 해시 테이블 ; 키와 값을 매핑해둔 데이터 구조 충돌 해결법 1. 개방 주소법 ; 해시 충돌이 발생하면 해시 함수로 얻은 주소가 아닌, 다른 주소 공간에 데이터를 저장하는 방식 2. 폐쇄 주소법 ; 인덱스로 인해서 충돌이 발생하면 그 인덱스가 가리키고 있는 연결 리스트에 노드를 추가
함수 기명 함수 function hello(){ console.log('Hello~'); } 익명 함수 let world=function(){ console.log('World~'); } - 호출 하기 위해 변수에 집어넣어 사용 화살표 함수 - 소괄호에 매게변수를 넣고, { } 안에 함수 작성 + 매게변수가 1개라면 소괄호를 생략 가능하고, return만 하는 함수라면 중괄호 생략 가능 // 매게변수 1개 & 중괄호 X const doubleArrow = x => x*2 console.log('doubleArrow',doubleArrow(7,3)) // 매게변수 1개 & 중괄호 O const doubleArrow2 = x => { return x*2 } console.log('doubleArrow2',d..
Node.js ; 확장성 있는 네트워크 애플리케이션 개발에 사용되는 SW 플랫폼 - 작성 언어로 JS 활용하며 논블로킹 I/O과 단일 스레드 이벤트 루프를 통한 높은 처리 성능 - 내장 HTTP 서버 라이브러리를 포함하여 웹 서버에서 아파치 등의 별도의 SW 없이 동작 NVM (Node Version Manager) ; 노드 버전 관리자 명령어 nvm ls ; 현재 설치되어 있는 nodejs 버전 확인 nvm install xx.xx.x ; xx.xx.x의 버전 설치 nvm use xx.xx.x ; xx.xx.x의 버전 사용 / 안될 경우 Start-Process -Verb RunAs nvm -Args "use xx.xx.x" nvm uninstall x ; xx.xx.x의 버전 삭제 NPM (Node ..
해싱 ; 해시 함수에 의하여 계산된 키 값의 주소로 직접 접근하는 것 - 해싱 = 'key to address transformation', 즉 특정 규칙에 따라 주어진 키 값을 주소로 변환하여 해시 테이블이라는 기억공간에 키의 레코드를 저장 - 해시 함수를 이용하여 필요한 레코드의 주소를 산출함으로서 검색작업을 수행 해시 테이블 ; 해시 함수에 의해 산출된 주소에 각 레코드를 기억시킨 테이블 - 버킷들로 구성되어 있으며, 각각의 버킷은 슬롯으로 구성 해시 함수 ; 입력된 키 값을 해시 테이블의 주소로 변환시켜주는 함수 - 중간 제곱함수 ; 키 값을 제곱한 후 그 수의 중간에 정해진 자리 수만큼을 취해서 해시 테이블의 버킷주소로 만듬 - 나누기 함수 ; 키 값을 해시 테이블의 크기로 나누어서 그 나머지를..