목록js (9)
dev_eun
First-class Function 함수가 변수처럼 취급된다. 변수에 할당할 수 있다. 매개변수를 전달받을 수 있다. 리턴값을 리턴할 수 있다. anonymous function 이름이 없는 함수 const print = function() { console.log('print'); }; callback function 매개변수로 함수를 전달한다. 클라이언트에게 구현을 맡기는 것과 같음 function randomQuiz(answer, printYes, printNo) { if(answer === 'love you') { printYes(); } else { printNo(); } }; const printYes = function() { console.log('Yes!'); } const printN..
var block안에 변수를 선언해도 어느곳에서나 사용할 수 있게 된다. 이제는 사용하지 말 것! let을 사용하자! hoisting var 예약어를 이용하여 변수를 선언할 경우 발생한다. 어디에 선언했는지에 상관없이 항상 제일 위로 선언을 끌어올려준다. let mutable 변수를 선언할 때 사용한다. const immutable 데이터 타입을 선언할 때 사용한다. 장점 1. security 2. thread safety : 스레드가 변수에 동시에 접근해서 변경하는 것을 방지 3. reduce human mistakes Variable types 타입이 다이나믹하게 결정된다. number Infinity : 무한대 -Infinity : -무한대 NaN : not a number BigInt 123n s..
html에서 script를 포함할 때 1. 안에 있는 경우 브라우저가 html 파싱을 할 때 blocking 된 후 js파일을 로드한다. 단점 : 만약 파일이 클 경우 웹페이지가 보이지 않을 수 있다. 2. 맨 끝에 있는 경우 파싱이 모두 끝난 후 js 파일을 로드한다. 단점 : 웹사이트가 js에 의존적일 경우(서버 데이터 받아옴, UI 꾸미기 등) fetching하기까지 오래걸릴 수 있다. 3. async js 파일을 병렬로 로드하고 blocking이 되지 않고 파싱을 계속한다. 단점 - 파싱이 끝나기도 전에 js파일이 fetching이 되면 js에서 조작해야 할 DOM 요소가 정의되지 않을 수 있다. - js를 실행할 때 파싱이 blocking이 될 수 있다. - 스크립트가 정의된 순서되로 실행되는 ..
html, js, css를 코딩을 하다보면 웹을 왔다갔다하면서 새로고침을 하는 게 굉장히 번거로웠다. 찾아보다가 알게된 좋은 vscode 익스텐션이 있다. vscode를 실행 후 익스텐션에서 Live Server 를 검색한다. 설치를 한 후 코드 창에서 우클릭을 하면 Open with Live Server와 Stop Live Server가 생겼다. Open with Live Server를 클릭하면 로컬 웹이 하나 열린다. 이제 코드를 한 번 수정해보자. 그럼 라이브로 웹에 적용이 된다. 새로고침 계속 안해줘도 된다!
루트 노드부터 순회 while (stack.length != 0) { let [current, parent] = stack.pop(); visited[current] = true; for (let child of nodeList[current]) { if (!visited[child]){ // 수행할 일 stack.push([child, current]); } } } 리프 노드부터 순회 while (stack.length != 0) { let [current, parent] = stack.pop(); if (visited[current]) { // 수행할 task continue; } stack.push([current, parent]); visited[current] = true; for (let ch..
코딩테스트 연습 - 모두 0으로 만들기 각 점에 가중치가 부여된 트리가 주어집니다. 당신은 다음 연산을 통하여, 이 트리의 모든 점들의 가중치를 0으로 만들고자 합니다. 임의의 연결된 두 점을 골라서 한쪽은 1 증가시키고, 다른 한 programmers.co.kr 트리이기 때문에 어떠한 노드를 골라도 루트노드가 될 수 있다. 리프 노드부터 시작해서 bottom-up으로 루트까지 올라가면 되겠다고 생각했었다. 그러려면 부모 노드가 누구인지 알아야 하는데, 그렇게 할 필요가 없었다. 자식 노드의 순서가 중요하지 않기 때문에 자식 노드의 수만 세고 있으면 되었던 것. 그래서 리프 노드부터 시작해서 자신과 각 부모 노드의 weight를 수정하는 방식으로 진행했다. 루트(0번 노드)에서 시작하는 dfs, bfs로..
프로그래머스 괄호 회전하기 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 정상적인 괄호 묶음인지 확인하는 것은 stack 문제로 유명한 것이니 그렇게 해결하면 됐는데, string을 어떻게 하나씩 shift할 수 있을까 하다가 rotation queue가 생각나서 queue로 해결하였다. 다른 사람들의 코드를 보니 string에서 맨 앞을 지우고 맨 뒤로 추가하는 방식으로도 많이 한 것 같다. 테스트에서 13번을 처음에 틀렸었는데 여는 괄호만 있는 케이스(ex. "{{{")를 해결하지 않아서 였다. c++ 코드 eun-seong/Documents 정리. Contribute to eun-seong/Documents development by creating an account on Gi..
코테는 c++로만 이용해서 보다가 js 코테도 요즘 많이 생겨나고 있는 것 같아서 언제든 볼 수 있게 준비한다. 아주 많이 참고한 사이트 JavaScript로 만나는 세상 | JavaScript로 만나는 세상 처음 시작하는 사람들을 위한 JavaScript 교재 helloworldjavascript.net 수 연산은 동일 +, -, *, /, %, ++, --, +=, -= object, array, function 등 참조형 변수들은 const로 선언해주는 게 맞다! 변수 선언 const var_const;// 재할당 X, 하지만 참조형 변수 array, function, object에는 사용 let var_let;// 재할당 O var var_var;// 재할당 O, 호이스팅때문에 요즘은 잘 안쓴다고..