vscode로 타입스크립트 typescript 파일을 디버깅하려면 세팅을 해주어야 한다. Typescript 설치 설치 및 tsconfig.json 세팅 //선행조건: global하게 typescript 설치 npm install -g typescript // typescript complier option 수정을 위해 tsconfig.json 추가 npm init -y tsc -init tsconfig.json 설정 // tsconfig.json { "compilerOptions": { "target": "ES5", "module": "CommonJS", "outDir": "out", "sourceMap": true } } outDir typescript로 쓰인 코드를 js로 생성할 때 어디로 생성될 ..
재귀 : Recursion 자기자신을 직간접적으 호출하는 함수 호출 큰 문제를 작게 나누어 사용하기 위해 사용함. 사용방법 재귀를 멈추는 조건이 필요하다. 이미 알고 있는 정보(base case)에 도달한다면 재귀를 멈추어야 한다. 만약 아직 도달하지 못했다면 다시 호출한다. call stack 지역변수와 매개변수는 새로 자기 자신을 호출할 때마다 전달되고 함수의 상태는 stack memory에 저장된다. 따라서 모든 재귀는 stack에 일정한 메모리를 소모하고, 만약 재귀가 stack에 할당된 메모리를 소모할 만큼 많이 불린다면 stack overflow error가 발생한다. 반복 : Iteration for과 while을 사용하여 일련의 명령어 세트를 반복하는 루프 stack memory를 소모하지..
Linear / Non-Linear Data Structure 선형 자료 구조와 비선형 자료 구조에 대해 설명해주세요. 선형 자료 구조는 데이터 요소들이 순차적으로 일렬로 나열된 자료 구조입니다. 하나의 요소는 하나의 이전 요소와 다음 요소와 연결되어 있습니다. 시작 요소부터 순차적으로 접근이 가능합니다. 대표적인 예로는 배열, 연결 리스트, 스택, 그리고 큐가 있습니다. 구현이 간단하고 직관적이라는 특징이 있습니다. 비선형 자료 구조는 요소들이 계층적/네트워크 형태로 연결된 자료 구조입니다. 하나의 요소는 여러 개의 다른 요소와 관계를 가질 수 있기에 복잡한 관계를 표현할 수 있습니다. 데이터 저장 방법 또한 다양합니다. 비선형 자료 구조의 예시로는 해시 테이블, 그래프, 그리고 트리가 있습니다. 더 ..