본문 바로가기

분류 전체보기44

2022 코라제이 블로그 및 계획 [ 2022 계획 ] - 다이어리 기록 - 사이드프로젝트 - 운동 - 블로그 - 독서 나에게 블로그는 큰 부담이다. 무언가 정보를 담는 글을 적는거라 그런건지 고민을 많이하고 썻다 지웠다를 반복하게 된다. 혹여나 잘못된 정보를 전달할까봐 조심스럽기도 했다. '나만 보려고 쓴다.' 라는 생각을 하고 봤을때 현재에 내가 과거의 나의 글들을 봤을때 스스로도 이해하기 어려운 부분이 있기도 했다. 갈겨쓴 노트를 다시 보는 느낌처럼 이해가 안되는 부분이 생길때가 있다. 그 당시에는 분명 잘 정리했다고 생각했는데 '잘 정리했다' 라는 과거의 나 아니면 '무슨 말이 하고싶은거야?' 라는 현재의 나 어느쪽이 잘못된걸까? 그럼에도 불구하고, 이제 더이상의 자책은 하지 않기로 했다. 그리고 2022년 다시 시작하려고 한다... 2022. 1. 22.
[자료구조] Queue 구현하기 큐(queue)는 컴퓨터의 기본적인 자료 구조의 한가지로, 먼저 집어 넣은 데이터가먼저 나오는 FIFO (First In First Out)구조로 저장하는 형식을 말한다. 출처 - 위키백과 구현하기 class Queue { private size = 0; private currSize = 0; private queue: Array = []; private first = 0; private rear = 0; constructor(size: number) { this.size = size; } enqueue(value: T): Queue { if (this.currSize >= this.size) { throw new Error('queue is overflow'); } this.queue[this.rear.. 2021. 3. 31.
[자료구조] Linked List 직접 구현하기. Linked list - 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조이다. (위키백과) [구현하기] class MyNode { public next: null | undefined | MyNode; public value: T; constructor(value: T) { this.value = value; this.next = null; } } class LinkedList { private head: MyNode; private tail: MyNode; private length = 0; constructor(value: T) { this.head = new MyNode(value); this.tail = this.head; this.length = .. 2021. 3. 30.
[자료구조] Stack 직접 구현하기 stack은 후입선출(LIFO)의 자료 구조이다. 즉, 마지막에 넣은 데이터가 가장 먼저 꺼내진다. [구현하기] class Stack { private stack: Array = []; private max = 0; private len = 0; constructor(max: number) { this.max = max; } top(): T { return this.stack[this.len - 1]; } pop(): Stack { if (this.len === 0) throw new Error('stack is empty'); this.stack.splice(this.len - 1, 1); this.len--; return this; } push(value: T): Stack { if (this.len.. 2021. 3. 28.