본문 바로가기
반응형

전체 글80

[2020.11.7] 11월 첫째주 회고록 벌써 11월이 되었다. 날씨도 많이 쌀쌀해지고 예전에 비해 아침에 더 일어나기 힘들어짐을 느꼈다. 이번 한 주는 지난주들에 비해 좀 늦게 일어났던 거 같다. 예전에는 조금 일찍 일어나서 시작하기전에 준비도 좀 하고 커피도 마시고 아침도 챙겨 먹고 좀 여유로웠는데 지금은 조금이라도 더 자고 싶어서 뒤척이는 한 주가 되었다. 예전의 부지런했던 내 모습이 그리웠다... 다음 한 주는 좀 더 부지런한 한 주를 보내야겠다. 이번 주동안에는 DFS, BFS, 백트래킹 기법에 대해서 배웠다. 한 주동안 고레벨의 알고리즘을 판 느낌이다. 이를 적용하고 활용해보기 위해 N-Queen 문제도 풀어보았다. 처음에 어떤 부분을 재귀로 넘겨야 할지 몰라서 좀 헤맸었는데 그래도 감을 잡고 나니 그 뒤부터는 괜찮았다. DFS는 예.. 2020. 11. 7.
[JavaScript] 백트래킹(Backtracking) 알고리즘 오늘은 백트래킹(Backtracking, 되추적) 알고리즘에 대해서 공부했다. 백트래킹 알고리즘이란 되추적이라고도 하는데 해를 구하기 위해 모든 경우의 수를 조사하지만 유망한 경우만 검사한다고 생각하면 된다. 흔히들 말하는 '가지치기'이다. 백트래킹은 DFS를 기반으로 만들어진다. 깊이 우선 탐색으로 인해 해당 경우의 수로 탐색하며 내려가다가 해당 노드가 조건에 맞지 않는다고 생각되면 가지치기하듯이 그 경우를 잘라내고 다시 상위 노드로 돌아가 다른 하위 노드로 내려가는 과정을 반복한다. 이를 위해 먼저 DFS를 알아두어야 한다. 백트래킹의 대표적인 예시로는 N-Queen 문제가 있는데 퀸을 어디에 놓느냐에 따라 다음 퀸을 놓을 수 있는 위치에 영향을 끼쳐 백트래킹 기법으로 검사를 하는 것이 가장 좋다. .. 2020. 11. 6.
[JavaScript] DFS와 BFS에 대해서 오늘은 DFS와 BFS에 대해서 알아보았다. DFS와 BFS는 그래프를 순회하며 탐색하는 알고리즘으로 DFS는 깊이 우선 탐색, BFS는 너비 우선 탐색으로 DFS는 Depth-First Search BFS는 Breadth-First Search를 뜻한다. 그래프란 정점과 간선으로 이루어진 자료구조의 일종으로 그래프를 탐색한다는 것은 어느 특정한 정점을 시작으로 모든 정점을 방문하는 것을 뜻한다. 그래프 더 알아보기 [Data-Structure] Graph (그래프) 오늘은 비선형 구조 중 하나인 그래프(Graph)에 대해서 공부했다. 그래프(Graph)는 노드(Node, 또는 정점 -vertex- 이라고도 부른다), 그리고 노드와 노드를 연결하는 간선(edge)으로 구성된다. 그래프는 ant-progr.. 2020. 11. 5.
[JavaScript] ES6 Syntax 오늘은 JavaScript 최신 문법인 ES5 Syntax에 대해서 공부했다. 자바스크립트 최신 문법은 코딩을 더욱 편리하게 해 줄 뿐만 아니라 가독성에도 좋다. 여러 가지 예제들을 통해 ES6 최신 문법들에 대해서 알아보겠다. Destructuring Destructuring은 구조 분해 할당 구문으로 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 표현식이다. // ES5 var user = { name: 'Leo', age: 25, address: '안양' }; var name = user.name; var age = user.age; console.log(name + ', ' + age); // Leo, 25 // ES6 let user = { name: 'Leo', ag.. 2020. 11. 5.
[2020.11.1] 10월 마지막주 회고록 10월 마지막 주를 보내고 드디어 11월이 찾아왔다. 이번 한 주동안 어떤 걸 공부했나 되짚어보니 자료구조(BFS, 해시, 트리구조)와 JS에서의 상속 패턴에 대해서 공부했다. 저번 주의 나와 비교했을 때 이번 주의 나는 그렇게 떳떳하지 않았던 것 같다. 사실 다른 언어에서 이미 자료구조와 상속 패턴에 대해서 공부를 했었기 때문에 이번 한 주가 좀 수월하긴 했다. 수월하다고 해서 공부량을 줄이면 안되는거였는데 지난주와 비교했을 때 공부량이 좀 눈에 띄게 줄어든 것 같았다. 평일에 공부량이 좀 적은 느낌이라 주말에 좀 더 해야지하고 심화된 부분을 뒤로 미뤘는데 주말에도 또 미뤄버렸다. 아주 밀림의 왕이 되어버린 것이다. 아는 내용이 나온다고해서 복습을 소홀히 해선 안되고 시간이 남으면 예습이라도 했어야 했.. 2020. 11. 1.
[JavaScript] Prototype Chain 이란? 오늘은 Prototype Chain에 대해서 공부했다. 먼저 MDN에서 Prototype Chain의 개념에 대해서 알아보았다. 자바스크립트에서 함수는 속성을 가질 수 있으며 모든 함수에는 prototype이라는 특수한 속성이 있다. 각각의 객체는 [[Prototype]]이라는 은닉(private) 속성을 가지는데 자신의 프로토타입이 되는 다른 객체를 가리킨다. 그 객체의 프로토타입 또한 프로토타입을 가지고 있고 이것이 반복되다, 결국 null을 프로토타입으로 가지는 오브젝트에서 끝난다. null은 더 이상의 프로토타입이 없다고 정의되며, 프로토타입 체인의 종점 역할을 한다. 간단한 예시로 알아보겠다. function Human(name) { this.name = name; }; Human.prototy.. 2020. 10. 28.
반응형