codestates 24

IM Basic CS Section을 마치며.

7월 20일부터 8월 4일까지 3주간 진행을 하였던 첫 번째 IM과정이 끝났다. 내일이면 Basic CS Hiring Assessments를 하루 종일 보게 된다. 4개의 Sprint로 나눠져 있었으며 그 과정에서 pair 진행도 zoom을 통해 4분이나 만나게 되었다. 역시 작업을 하면서 다양한 기억이 남는다. pair 진행에서 문제를 만났을 때 안 풀리는 경우와 잠깐 뇌를 시키는 시간을 가지면서 pair와 이야기를 나눌 때 힘들었지만 같이 해결하는 과정에 있어서 조금이나마 힘이 되어 문제를 해결하는 힘든 과정에서 위안이 되기도 하고 몰랐던 것을 해결하기도 해결하지 못한 채로 끝내는 경우를 보면서 조금 더 내가 분발해서 다 해결할 수 있도록 가야겠다는 생각이 들게 되었다. 잘하는 분들 어느 정도 이해가..

Codestates/Full IM 2020.08.04

Algorithms

Why Algorithms? 알고리즘은 주어진 문제를 해결하기 위한 일련의 절차들은 정의한 것이며, 1. 온라인 문제 풀이 사이트 2. 유튜브 등 동영상 플랫폼 3. 알고리즘 책 4. Goooooooogle 등 다양하서 접하고 보면서 컴퓨터의 사고능력을 훈련해야한다. 다양한 이유가 있지만 그 중에서 가장 중요한 이유중 하나는 많은 기업에서 알고리즘 테스트를 많이본다. Algolism의 기본은 완전탐색을 기본으로한다. 즉, 빠짐없이 전부 다 탐색을 한다는 것이다 = 새하얗게 불태웠어...랑 같다 Intro to N-Queens 들어가기 앞서 N-Queens은 10을 난이도로 봤을때 입사시험에서 8,9정도하는 난이도로 보고있으며, 공식대회 수준으로는 난이도 1,2정도하는 것으로 보면 된다고 sprint 시간..

Codestates/Full IM 2020.08.03

BeesBeesBees

BeesBeesBees 가장 고귀한 곤충인 꿀벌은, 일생동안 특정 발달 단계를 하나하나 거칩니다. 각 단계에는 꿀벌이 갖는 고유한 특징과 작동이 있습니다. 이 repository에는 다양한 종류의 꿀벌 Class가 존재합니다. 각 단계별로 꿀벌 Class가 있고, 이를 통해 pseudoclassical 패턴 및 ES6 class keyword를 이용한 상속을 배우게 됩니다. (상속은 종종 subclassing 이라고 표현합니다) 어떻게 꿀벌 클래스를 만들어야하는지는 아래 내용을 참고하세요! BeesBeesBees의 목적 Inheritance Implementation , ES6, Pseudoclassical keywords 를 이용한 상속구현 시작전 다음과 같은 것을 확인해야 했다. npm install..

Codestates/Full IM 2020.07.30

Object Oriented Programming + Instantiation

OOP(Object Oriented Programming)? 프로그램밍의 패러다임 중 하나이며, 객체 지향 프로그래밍이라고 한다. 말 그대로 프로그램을 작성하는데 함수나 로직 기반보다는 객체 기반으로 한 패러다임이라고 보면된다. 여기서 객체는 속성과 동작을 가진 데이터 필드로 정의된다. 쉽게 말하자면 모든 것을 물체로 정의하려는 프로그래밍 패러다임이라고 보며 되며 , 크고 복잡한 문제들을 관리하는데 적합하다고 보면 된다. OPP Basic concept (객체 지향 프로그래밍의 특징) 기본적인 개념으로 Encapsulation, Inheritance, Abstraction, Polymorphism이 있다. Encapsulation(캡슐화) 외부에서 속성들을 Object에 쌓아 캡슐화 시키는 개념이다. 복..

Codestates/Full IM 2020.07.29

Data Structure Time Complexity

들어가기 전에 복잡도에 대해서는 Pre 과정에서 호용님이 강의하신 게 더 이해가 잘된다. 누군지는 모르겠지만 IM과정에 설명해주는 분의 강의는 봐도 잘 이해가 안 된다. Complexity Analysis Complexity Analysis In The Real World How does problem size affect the time and space required by particular algorithm? Complexity Analysis? 복잡도 분석이라고 할 수 있다. 그 중에서 시간복잡도란? 알고리즘이 그것을 푸는 데 있어서 시간과 공간을 도대체 얼마나 차지하는지를 나타내는 지표라고 보면 된다. Why is this important? Complexity helps us understa..

Codestates/Full IM 2020.07.27

Data Structure Graph, Tree, BST

Graph Graph란 node와 node를 연결하는 간선(edge)을 하나로 모아 놓은 Data Structure이다. 하지만 모든 노드들이 전부 서로 연결되어 있는 것은 아니다. 양방향으로 통행이 가능한 무방향 그래프와, 일반통행만 가능한 방향 그래프가 있다.무방향 = 양방향 통행 addNode(node) - 그래프에 노드를 추가합니다.(Methods) addEdge(fromNode, toNode) - fromNode와 toNode 사이의 간선을 추가합니다.(Methods) removeNode(node) - 그래프에서 노드를 삭제합니다.(Methods) removeEdge(fromNode, toNode) - fromNode와 toNode 사이의 간선을 삭제합니다.(Methods) hasEdge(fro..

Codestates/Full IM 2020.07.27

2020.07.24 IM 5일차, 작업 및 회고록.

어느덧 5일이라는 시간이 흘러 주말이 되었다. 정말 시간은 하루가 다르게 빠르게 지나가는것같았다. 준비가 될 된상태로 계속 흘러가는것이여서 빠르게 지나가는것처럼 느껴지는건지 아니면 나의 초초함이 커질수록 빠르게 지나가는것인지 어느것때문에 빠르게 지나가는건지 모르겠지만 그래도 과정만큼은 수강과 페어작업만큼은 잘 성실히 하는것을 보면서 그래도 이겨내고 있다는 것을 느낌을 받았던 5일간의 시간들이였다. 과정을 겪고 지금은 data structure에 대해서 하고있는데 역시 처음이다보니 나에겐 너무 크게 다왔으며, 모르는것을 질문도있지만 찾아보면서 하는과정도 지금은 적응하며 보면서 하고 있다 오늘까지 hash table에 대한것을 배우고 코드작성까지 해보았지만 완성하지는 못하였고 2개정도만 작성하고 페어시간이 ..

Data Structure Linked List, HashTable

노드는 어떻게 구성되어 있는가? 1. Linked List 연결 리스트는 그 크기가 동적인 자료구조로, 자료구조를 구성하는 요소, 우리는 이것을 노드(Node) 라고 부릅니다. 노드의 연결로 이루어진 자료 구조입니다. 연결 리스트의 어떠한 임의의 지점에 데이터의 추가와 삭제를 할 경우, O(1) (상수 시간)의 시간 복잡도를 갖습니다. 추가와 삭제에 대해 O(n) (선형 시간)의 복잡도를 갖는 배열과는 다르죠. 다만 이 추가와 삭제 속도에 대한 대가로, 연결 리스트의 각 노드는 인덱스를 갖지 않습니다. 그래서 어떤 특정 데이터를 연결 리스트에서 검색하고자 할 경우, 처음부터 전체 연결 리스트를 훑어야 하며, 이는 O(n) (선형 시간)의 복잡도를 필요로 합니다. 배열과 유사하다고 보인다면 비교를 해보자...

Codestates/Full IM 2020.07.24