목차. 1. Stack, Queue 2. Graph, Tree, Binary Search Tree(BST, 이진탐색트리) 3. Tree traversal (트리순회) 4. Breadth-First Search(BFS, 너비우선탐색), Depth-First Search(DFS, 깊이우선탐색) 1. Stack, Queue 1) Stack Stack(이하 스택)은 '쌓다', '쌓이다' 라는 뜻을 가지고 있다. 그렇기 때문에 자료구조의 한 종류로써 스택은 데이터를 계속 해서 쌓아 놓은 것을 말한다. 예를들어 동전을 원통안에 하나씩 쌓을 경우 맨 아래의 동전을 꺼내기 위해서는 위에 쌓인 동전들을 모두 꺼내어야한다. 이처럼 데이터가 스택에 쌓여있기 때문에 가장 먼저 삽입된 데이터1을 사용하기 위해서는 뒤에 들어온 ..
재귀를 배웠다. 코틀린으로 처음 프로그래밍을 접하고 클래스까지는 공부를 했었지만 재귀부터는 모르는 상태로 부트캠프를 시작했다. 재귀란, 사전적 정의로는 아래처럼 정의되어져 있다. 재ː귀, 再歸 명사 본디의 곳으로 다시 돌아오는 것. (정의 출처: Oxford Languages) Oxford Languages and Google - Korean | Oxford Languages Google’s Korean dictionary is provided by Oxford Languages. Oxford Languages is the world’s leading dictionary publisher, with over 150 years of experience creating and delivering author..
클래스와 객체지향프로그래밍을 얘기 하려면 우선 절차지향프로그래밍을 언급해야한다. 이름에서 알 수 있듯이 객체지향과 절차지향은 서로 반대에 위치한 느낌을 가지고 있다. 컴퓨터가 발명되고 컴퓨터를 컨트롤 하기위해 컴퓨터가 이해할 수 있는 언어가 개발되었다. 그 언어를 사용해 컴퓨터에게 명령을 내리는데 컴퓨터는 기본적으로 명령이 내려진 순서대로 동작을 한다. 따라서 초기의 프로그래밍은 모두 절차지향프로그래밍이었다. 하지만 컴퓨터에게 명령을 내리는 주체는 사람이기때문에 사용자가 편리함을 추구하면서 나온 이론이 객체지향프로그래밍이다. 모든 데이터와 기능들을 순서대로 나열하여 실행시켰던 것에서 벗어나 코딩을 효율적, 효과적으로 하기 위해 각 기능들과 기능에 필요한 데이터들을 따로 모아 객체로 나누어 필요한 순간에 ..
4월5일 코드스테이츠 부트캠프를 시작했다. 5월6일 소프트엔지니어링부트캠프 29기의 HA가 끝났다. 한달하고도 하루 이 기간동안 정말 많은 것을 배웠다. JavaScript문법 - 변수, 타입, 함수, 조건문, 반복문, 배열, 객체, 스코프, 클로저, Spread/Rest문법, 구조분해할당, 원시자료형, 참조자료형, 고차함수 HTML & CSS & DOM (Document Object Model) Linux 기초 - CLI(Command-Line Interface)명령어, Node.js & nvm(Node Version Manager), Package Manager Git 기초 - 버전관리시스템, 협업의 기초 React 기초 JavaScript문법으로 알고리즘의 기초지식을 쌓았고 HTML & CSS & ..
서버 개발자를 목표로 부트캠프를 시작한지 한주가 지났다. 부트캠프를 시작하기전 코틀린으로 조금이나마 공부를 한 보람이 있게 기본적인 변수, 조건문, 반복문 등은 쉽게 넘어갈 수있었다. 남은 시간을 활용하고 싶은 마음에 그리고 미리 예습하는 느낌으로 Node에 대해 좀 찾아 보았다. 생활코팅에서 제공해 주신 강의를 보다가 동기와 비동기부분에서 요리와 참 많이 닮았다는 생각을 하게되었다. 현재 본인이 이해한 동기와 비동기의 개념은 다음과 같다. 동기(Syncronous)는 컴퓨터의 처리순서가 코딩한 단계에 따라 순차적으로 진행이 되는 것을 말한다. 비동기(Asyncronous)는 처리를 여러부분으로 나눠서 따로 처리를 시키는 것을 말한다. 머리에 떠오르는 개념을 이미지화 해서 말로 풀어봣는데 아마 동기와 비..
세상에 대한 나의 첫 인사는 2020년 9월초 였다. 생활코딩을 통해 문제해결이란 것에 대해 처음으로 생각해봤다. 시작은 자바였다. 처음으로 변수를 선언해보고 값을 할당해봤다. 그리고 컴퓨터과학의 둘레길을 걸었다. 슬슬 걸어보았다. 한국으로 돌아오고 코틀린을 배워 보았다. 재밌었다. 내가 쓴 한줄에 화면이 변화했다. 그 변화를 내가 주도하고 있었다. 친형에게 과제를 받았다. 레스토랑 하나를 차리고 싶었다. 사업을 하려면 사전 조사를 충분히 하고 시작해야하듯 코딩으로 만드는 레스토랑도 만만치 않았다. 10시간을 Class에 대해 검색해보고 열받아서 3일을 게임만했다. 다시 돌아오고 30분만에 해결해버렸다. 허탈했다. 시원함도 느꼇다. 나름의 뼈대를 만들었을때 재시공에 들어갔다. 이건아니었다. 싹 다 갈아엎..