분류 전체보기

명령형 프로그래밍 컴퓨터가 수행할 명령들을 순서대로 써 놓은 것 "어떻게 구현하는가(어떤 방법으로 하는가)"를 디테일하게 기술하는 것에 관점이 가있다 선언형 프로그래밍 "무엇을 나타내야 하는가"에 관점이 가있다 명령형 프로그래밍 vs 선언형 프로그래밍 예시 1 //명령형 function double(arr) { //array의 값을 어떻게 가공할 것인가 let results = []; for(let i = 0; i < arr.length; i++) { // 어떻게 처리하는지에 대한 묘사 if (typeof arr[i] === 'number'){ results.push(arr[i] * 2); } } return results; } //선언형 function double(arr) { // map으로 어떠한 ..
바닐라 자바스크립트 퀴즈 문제 1 function Cat(name, age){ this.name = name; // this가 윈도우를 가르킨다 this.age = age; } const tabby1 = Cat('nana', 7); // new를 붙여주면 this는 새로 생긴 객체를 가르킨다 console.log(tabby1.name); //error 발생 console.log(window.name); //'nana' 문제 2 (function(name) { console.log(`hello ${name}`); // 변수가 함수에 묶이고 window를 침범하지 않아 전역이 깨끗해진다 })('Baek'); // 'hello Baek'이 출력된다 const logger = (function(){ //logC..
HTML(Hyper Text Markup Language) HTML5 영상과 음성을 처리하기 위한 멀티미디어 요소가 추가되었다 (audio, video, canvas) 구조적인 요소 추가 (header, nav, article, section, aside, footer) 표현을 담당하던 태그가 삭제되고 의미를 담은 태그가 추가되었다 s -> del b -> string 등 CSS CSS3 태그 적용 inline 이용 외부 파일을 만들어 link 태그를 통해 불러옴 DOM(Document Object Model) 문서 객체 모델 Model : 현실에 있는 것을 특정 관점에서 바라보아 객체로 만드는 것 DOM은 왜탄생했을까? javascript가 탄생하면서 같이 등장 HTML 문서와 상호작용이 가능하게 되었..
백트래킹 모든 경우의 수를 탐색하는 알고리즘 DFS나 BFS를 이용할 수 있다 가지치기(Pruning) : 효율을 위해 탐색하지 않아도 되는 곳을 미리 막는 것 자바스크립트는 재귀 효율이 나쁘게 때문에 DFS를 구현할 경우 스택을 이용하는 것이 좋다 탐색에서 순환(Cycle)이 발생할 수 있다면 BFS를 이용하는 것이 편하다 핵심은 가지치기 !!! 백트래킹 로직을 어떻게 작성할 것인가? 우선 모든 경우의 수를 찾을 수 있도록 코딩 이후 문제에서 특정한 조건을 만족하는 것만 탐색하고 나머지는 탐색하지 않도록 조건문을 작성 즉, 절대로 답이 될 수 없는 문제는 탐색을 종료한다 동적계획법 해결한 작은 문제로 큰 문제를 해결하는 문제 풀이 방식 그리디(Greedy)나 백트래킹처럼 특정 알고리즘이 아닌 문제 해결..