본문 바로가기

전체 글

(1092)
WIL(22.09.18) 내가 배운것 Nomad Coders - NextJS 시작하기 프로그래머스 문제 풀이 자료구조와 알고리즘 차주에 진행할 것 이직 준비 Nomad Coders - React JS 마스터클래스 완강 Effective TypeScript 팀 개발을 위한 Git, GitHub 시작하기 React 공식 문서 읽기 앞으로 진행할 것 React 벨로퍼트와 함께하는 모던 리액트 Hook Redux TypeScript OPP Design Pattern Test 시각적 회귀 Refactoring(마틴 파울로) 2판 읽기 외출난이도 리팩터링
[프로그래머스] 올바른 괄호 - JavaScript 풀이(개선된 풀이) 본 게시물은 프로그래머스의 연습 문제 풀이입니다. 저작권은 (주) 그랩에게 있습니다 자바스크립트 코드 function solution(s){ const braketArray = []; for (let i = 0; i
자료구조와 알고리즘 - 트리 본 내용은 프로그래머스의 코딩테스트 광탈 방지 A to Z : JavaScript 강의를 토대로 작성하였습니다. 1. 트리란? 방향 그래프의 일종으로 정점을 가리키는 간선이 하나 밖에 없는 구조 Root: 가장 상위의 정점 Node: 각 정점 Leaf Node: 자식이 없는 정점(가장 하위) Level: Root로부터 몇 번째 깊이인지를 표현 Degree: 한 정점에서 뻗어나가는 간선 수 2. 트리의 특징 Root를 제외한 모든 Node는 하나의 부모 Node를 가짐 Node가 N개인 트리는 반드시 N-1개의 간선을 가짐 Root에서 특정 정점으로 가는 경로는 유일 편향 트리 한 방향으로만 정점이 이어진 것 이진트리 각 정점이 최대 2개의 자식을 가지는 트리를 의미 탐색을 위한 알고리즘에서 많이 사용 완..
자료구조와 알고리즘 - 그래프 본 내용은 프로그래머스의 코딩테스트 광탈 방지 A to Z : JavaScript 강의를 토대로 작성하였습니다. 1. 그래프란? 정점과 정점 사이를 연결하는 간선으로 이루어진 비선형 자료구조 정점(Node) 집합과 간선(Edge) 집합으로 표현 특징 여러개의 간선을 가질 수 있음 방향 그래프, 무방향 그래프로 나눌 수 있음 간선은 가중치를 가짐 사이클이 발생 가능 2. 그래프의 종류 무방향 그래프 간선으로 이어진 정점끼리는 양방향으로 이동이 가능 (A, B), (B, A)는 같은 간선 취급 방향 그래프 간선에 방향성이 존재하는 그래프 , 는 다른 간선으로 취급 연결 그래프 모든 정점이 서로 이동 가능한 상태인 그래프 특정 정점 -> 다른 정점까지의 모든 경우의 수가 이동 가능해야 함 비연결 그래프 특정 ..
자료구조와 알고리즘 - 해시 테이블 본 내용은 프로그래머스의 코딩테스트 광탈 방지 A to Z : JavaScript 강의를 토대로 작성하였습니다. 1. 해시 테이블이란? 해시테이블은 한정된 배열 공간에 key를 index로 변환하여 값을 넣음 key와 value를 받아 Hasing하여 나온 index에 값을 저장하는 선형 자료구조 삽입은 O(1) 키를 알고 있으면, 삭제, 탐색도 O(1)로 수행 Bucket: 각 테이블에 해당하는 index 테이블의 각 요소는 key, value를 둘 다 저장 빠르게 값을 찾아야하는 경우, 해시 테이블을 사용하기 JavaScript에서의 Array, Object가 Hash Table JavaScript Map의 경우도 Hash Table 다양한 자료형도 key로써 사용 가능 JavaScript Set의 ..
자료구조와 알고리즘 - 큐 본 내용은 프로그래머스의 코딩테스트 광탈 방지 A to Z : JavaScript 강의를 토대로 작성하였습니다. 1. Queue란? 선형 자료구조 First In First Out 먼저 들어온것이 먼저 나감 Linear Queue, Cicular Queue Front: Queue의 맨 앞 Rear: Queue의 맨 뒤 DeQueue: Queue의 요소를 빼는 것 EnQueue: Queue의 요소를 넣는 것 대기열이라고 할 수 있음 2. Linear Queue 선형 큐 Array로 표현 가능 한정된 공간인 Array에서 구현하기에는 어려움이 있음 앞요소가 DeQueue가 되어도 그 만큼 배열을 더 사용할 수는 없음 EnQueue가 해당 배열의 length만큼만 가능 JavaScript에서는 위 문제는 없지..
자료구조와 알고리즘 - 스택 본 내용은 프로그래머스의 코딩테스트 광탈 방지 A to Z : JavaScript 강의를 토대로 작성하였습니다. 1. 스택이란? Last In First Out이라는 개념을 가진 선형 자료구조 나중에 들어온 것이 가장 처음에 나오게 됨 맨 위에 있는 요소 Top 2. 스택의 동작 원리 push: 요소 넣기 pop: 요소 빼기 가장 맨 위에 있는 요소만 컨트롤함 스택 메모리: 함수가 호출되며 생성되는 지역 변수, 매개 변수가 저장되는 메모리 3. 스택 구현 Array로 구현 스택을 배열로 구현할 수 있음 배열은 순차적으로 요소가 추가 됨(push) 가장 끝의 요소를 뺄 수 있음(pop) JavaScript의 배열은 스택을 구현하는 것에 유리 Reference 프로그래머스의 코딩테스트 광탈 방지 A to Z..
자료구조와 알고리즘 - 연결 리스트 본 내용은 프로그래머스의 코딩테스트 광탈 방지 A to Z : JavaScript 강의를 토대로 작성하였습니다. 1. 연결 리스트란? 각 요소를 포인터로 연결하여 관리하는 선형 자료구조 각 요소는 노드라고 불리고 데이터 영역과 포인터 영역으로 구성 2. 연결 리스트의 특징 메모리가 허용하는한 요소를 제한없이 추가할 수 있음 탐색은 O(n)이 소요 추가와 삭제가 반복되는 로직에서 사용하면 유용 O(1)이 소요 Singly Linked List, Doubly Linked List, Circular Linked List 3. 배열과 차이점 메모리에서의 차이 배열은 순차적으로 요소들을 관리하므로 메모리 영역을 연속적으로 사용 연결 리스트는 각 데이터가 퍼져 있음 연결 리스트는 퍼져있는 메모리 영역을 알기 위해 ..