본문 바로가기

개발

(62)
[JavaScript] var를 권장하지 않는 이유 (feat.es6) 평소에 자바스크립트로 개발을 하면서 var를 아주 많이 사용했다. 하지만 es6문법이 나오고 나서부터 var를 사용하지 않는 것이 좋다고 종종 들었다. 이번에 es6 문법을 공부하면서 var를 권장하지 않는 이유에 대해 알게 되었다. var의 문제점 1. 같은 이름의 변수를 여러번 생성가능하다. var foo = 123 console.log(foo) var foo = 456 console.log(foo) 위의 코드와 같이 foo라는 이름의 변수를 두번 선언했을때 아래와 같이 console.log가 제대로 동작한다. 하지만 const와 let은 동일한 이름의 변수를 한번만 선언 가능하다. const foo = 123 console.log(foo) const foo = 456 console.log(foo) ..
DFS와 BFS 문제 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. 출력 첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결과를 출력한다. V부터 방문된 점을 순서대로 출력하면 된다. ..
BackTracking, DFS, BFS BackTracking "퇴각검색(backtrack)" Backtracking(퇴각검색)이란 한정 조건을 가진 문제를 해결하는 전략이다. - 출처 : wikipedia - 이번에 알고리즘 스터디를 진행하면서 가장 먼저 접한 내용이 backtracking이다. backtracking은 "한정 조건내의 모든 경우의 수를 고려하는 알고리즘" 이다. 구조적을 깊이우선탐색(DFS)를 기반으로 한다. 하지만 DFS는 모든 경우의 수를 다 구하기 때문에 굳이 한정 조건이 존재하는 환경에서는 비효율적이다. 그래서 이와 같이 조건에 부합하지 않는 수를 무시하고 조건을 만족하는 수를 구하는 방법이 백트래킹 알고리즘이다. 그렇다면 여기서 말하는 깊이우선탐색-DFS는 무엇일까? Depth-First Search "깊이우선탐색..
2. Node.js 개발환경 Node.js 설치파일은 node.js 홈페이지에서 다운받을 수 있다. https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 리눅스 사용자의 경우 apt-get 또는 yum으로 install 하면 된다. 1 2 3 4 sudo apt-get update sudo apt-get install nodejs sudo apt-get install npm sudo ln -s /usr/bin/nodejs /usr/bin/node NodeJS와 관련된 가이드 문서 또는 내용도 공식 홈페이지에서 제공하고 있다. https://nodejs.org/ko/docs/guide..