📌 4개월차 좋았던 점 • 이번 4개월 차에서 가장 좋았던 점은 데일리 스크럼과 To-Do List 였는데, 진도와 팀원들의 수행 계획을 통해 자극을 받을 수 있었고 흐트러질 수 있었던 4개월차를 잘 마칠 수 있었다. • 둘째, 과제평가를 통해 강의내용을 복습할 수 있고, 강의 내용을 좀 더 이해하는데 도움이 많이 됐다. • 셋째, 알고리즘 테스트를 통해 매주 알고리즘을 공부할 수 있음에 좋았고, 점점 어려워지는 난이도로 못푸는 문제가 생겨 공부를 많이 해야함을 느꼈다. 📌 3개월차에 수정한 학습 계획표대로 공부하고 있는가 ? ▪︎ 이번 4개월차는 자바스크립트 과제가 끝나자마자 프레임워크 과제가 바로 진행되어 학습 계획표대로 진행하는데 어려움이 있었다. 하지만 바로 과제가 있어 프레임워크를 좀 더 빨리 ..
체이닝 해시테이블 (Chaining_Hash_Table) 별도의 자료구조인 연결 리스트를 병합 사용하여 Hash 충돌을 해결한 해시테이블 기반 자료 구조 구현 메서드 (method) 객체초기화/ 크기반환: ChainingHashTable.clear(), ChainingHashTable.size() 전체 데이터 반환/전체 데이터 출력: ChainingHashTable.getBuffer(), ChainingHashTable.print(); 추가/ 삭제 /반환: ChainingHashTable.put(), ChainingHashTable.remove(), ChainingHashTable.get() 📌 체이닝해시테이블(Chaining_Hash_Table) 구현 소스 (해시테이블 + 링크드리스트) import {..
선형 해시 테이블 (linear_hash_table) Hash 충돌이 발생했을 때, 그 다음 주소를 확인하고 비어있다면 그 자리에 대신 저장하는 해시테이블 기반 자료구조 구현 메서드 (method) 객체초기화/ 크기반환: LinearHashTable.clear(), LinearHashTable.size() 전체 데이터 반환/전체 데이터 출력: LinearHashTable.getBuffer(), LinearHashTable.print(); 데이터 추가/ 삭제 /반환: LinearHashTable.put(), LinearHashTable.remove(), LinearHashTable.get() 📌 선형해시테이블(Linear_Hash_table) 구현 소스 const HASH_SIZE = 5; // 충돌 빈도..
해시함수 (Hash Function) 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수 해시 함수 특성 압축성: 다양한 가변 길이의 입력에 대해 고정된 크기의 결과값을 반환하는 성질 효율성: 어떤 입력 값에 대해서도 많은 자원과 시간이 소요되지 않고 처리되는 성질 저항성: 결과값을 바탕으로 입력 값을 찾는 것이 불가능한 성질 해시테이블 (Hash Table) Hash 함수를 사용하여 평균 O(1) 시간 복잡도로 특정 값을 시속하게 찾는 자료구조 충돌(Collision) 해결 방법 해시 함수 변경: 더 큰 숫자의 공간과 Modular 산술 값을 이용해 충돌 최소화 자료구조 확장: Open Addressing Method (선형 조사법, 이중해시) , Close Addressing Method(체..
딕셔너리 (Dictionary) key-value 형태로 다양한 자료형 개체(Entity)를 저장하는 자료구조(~Map) 구현 메서드 (method) 전체 개체 획득/ 초기화 / 크기 반환: Dictionary.getBuffer(), Dictionary.clear(). Dictionary.size() 개체 추가/삭제/반환/여부: Dictionary.set(), Dictionary.remove(), Dictionary.get(), Dictionary.has() key, value 배열 반환/ 고차 함수: Dictionary.keys(), Dictionary.values(), Dictionary.each() 📌 딕셔너리 (Dictionary) 구현 소스 // Dictionary(): 개체(Entity)를 저..
우선순위 큐 (Priority Queue) 우선순위를 고려하여 먼저 넣은 데이터가 먼저 나오는 FIFO(First In First Out) 기반의 선형 자료 구조 우선순위 정렬방식: 배열 기반, 연결리스트 기반, 힙(Heap) 기반 등의 정렬 방식 존재 구현 메서드 (method) 데이터 전체 획득/ 비어있는지 확인: PriorityQueue.getBuffer(), PriorityQueue.Empty() 데이터 추가/삭제: PriorityQueue.enqueue(), PriorityQueue.dequeue(); 첫번째 데이터/ 사이즈 /전체 삭제: PriorityQueue.front(), PriorityQueue.size(), PriorityQueue.clear() 📌 우선순위 큐(Priority Que..
큐 (Queue) 먼저 넣은 데이터가 먼저 나오는 FIFO(First In First Out) 기반의 선형 자료 구조 구현 메서드 (method) 데이터 전체 획득/ 비어있는지 확인: Queue.getBuffer(), Deque.Queue.Empty() 데이터 추가/삭제: Queue.enqueue(), Queue.dequeue(); 첫번째 데이터/ 사이즈 /전체 삭제: Queue.front(), Queue.size(), Queue.clear() 📌 큐( Queue) 구현 소스 // Queue(): 생성자 함수로 초기 데이터 설정 function Queue(array) { this.array = array ? array : []; this.tail = array ? array.length : 0; this..
데크 (deque) Double-Ended Queue의 약자로 삽입과 삭제가 양쪽끝에서 모두 발생할 수 있는 선형 자료 구조 구현 메서드 (method) 데이터 전체 획득/ 비어있는지 확인: Deque.getBuffer(), Deque.isEmpty() 데이터 추가/삭제: Deque.pushFront(), Deque.popFront(), Deque.pushBack(), Deque.popBack() 첫번째 & 끝 데이터 반환/사이즈/ 전체삭제: Deque.front(), Deque.back(), Deque.size(), Deque.clear() 📌 데크 구현 소스 // Deque(): 초기 속성값 설정을 위한 생성자 함수 function Deque(array = []) { this.array = array..
원형큐 (Circular Queue) 원형 형태를 가지며, 먼저 넣은 데이터가 먼저 나오는 FIFO(First In First Out) 기반의 선형 자료 구조 구현 메서드 (method) 데이터 확인 method: CirqularQueue.isEmpty(), CircularQueue.isFull() 데이터 추가/삭제/반환: CirqularQueue.enqueue(), CircularQueue.dequeue(), CircularQueue.getBuffer() 첫번째 데이터/사이즈/전체 삭제: CirqularQueue.front(), CircularQueue.size(), CircularQueue.clear() 📌 원형큐 구현 소스 const DEFAULT_SIZE = 5; // CircularQueue()..
📌자바스크립트를 공부하면서 느낀점 • 회사에서 프레임워크를 이용해 자바스크립트를 이용하지만 회사틀에 갇혀 많을 기술들을 접해보지 못했는데, 과제를 하며 새로운 기술들을 접하는 것에 대해 정말 많이 반성을 했다.항상 쓰던 것만 쓰다보니 html/css뿐만 아니라 자바스크립트가 어느정도 발전했는지 체감하지 못했는데 부트캠프를 통해 나에 대한 부족함을 많이 느끼고, 공부가 왜 필요한지 정말 많이 느끼게 된다. 📌 자바스크립트 공부하면서 어려웠던 개념과 이유 ▪︎ 자바스크립트는 현업에서 사용하기에 개념에서 많이 어려운 점은 없었지만 과제를 하며 몰랐던 새로운 개념들을 익히는 과정에서 참으로 공부가 부족했구나 느껴 반성을 참 많이 했다. 오히려 CSS가 부족한 부분이라 느끼기에 좀더 CSS를 보완하는 데 신경을 ..
