분류 전체보기
-
JS (ES6 & above) - Variable type, Scope, Hoisting자바스크립트 Study/자바스크립트 2021. 3. 28. 15:38
참조 : velog.io/@marcus/2019-02-10-1702-%EC%9E%91%EC%84%B1%EB%90%A8 Javascript var-let-const 차이 var-let-const Javascript var - let - const 의 차이 Javascript에 변수 선언 방식인 var let const에 각각 차이점을 알아보자 먼저 이들의 차이점을 이해하기 위해서는 Hoisting과 Scope의 개념이 필요하다. (해당 링 velog.io www.youtube.com/watch?v=OCCpGh4ujb8&list=PLv2d7VI9OotTVOL4QmPfvJWPJvkmv6h-2&index=3 medium.com/@_diana_lee/javascript-hoisting-%ED%98%B8%EC%9D..
-
Html에 JS의 위치 / JS 파일 선언의 기본자바스크립트 Study/자바스크립트 2021. 3. 27. 13:54
참조 : www.youtube.com/watch?v=tJieVCgGzhs&list=PLv2d7VI9OotTVOL4QmPfvJWPJvkmv6h-2&index=3&t=188s ■ JS 파일 상단에 use strict 추가 참조 : beomy.tistory.com/13 1) 정의 : 자바스크립트가 묵인했던 에러들의 에러 메시지를 발생 엄격한 문법검사를 사용하는 parameter 추가 > ECMA Script 5 에서 부터 추가 > 실행시간이 좀더 개선 됨 2) node js 사용하는 경우 이미 strict 모드를 사용하고 있으므로 최상단에 다음의 주석을 추가 /*jslint node: true */ > 이렇게 함수 내부에서도 사용가능 (function () { 'use strict'; // this funct..
-
자바스크립트 공식 사이트(html, css포함)자바스크립트 Study/자바스크립트 2021. 3. 27. 13:20
■ rule of thum site developer.mozilla.org/ko/docs/Web/JavaScript JavaScript | MDN JavaScript JavaScript(JS)는 가벼운 인터프리터 또는 JIT 컴파일 프로그래밍 언어로, 일급 함수를 지원합니다. 웹 페이지의 스크립트 언어로서 제일 유명하지만 Node.js, Apache CouchDB, Adobe Acrobat처럼 많은 developer.mozilla.org ■ HTML / CSS 관련 기능들도 포함
-
Vscode / node.js npm자바스크립트 Study/자바스크립트 2021. 3. 27. 13:15
참조 : waspro.tistory.com/615 [Node.JS] VSCode 개발환경 구성하기 VSCode는 Node.js를 개발하는 대표적인 에디터이다. Node.js뿐만 아니라, 대부분의 언어를 개발하는데 효과적으로 사용할 수 있는 소스 코드 편집기이지만, IDE가 아니기 때문에 컴파일 및 실행을 위한 waspro.tistory.com ■ Node js 설치, Vscode 설치 > 참조 참조 ■ Vscode 실행 1) npm으로 dependency 설치 2) vscode 터미널에서 node XXX.js 로 실행 가능 > 파이썬 venev와 매우 유사, project 최상단에서 dependency 모두 설치되면 실행 시 npm 폴더 밑에 dependency로 필요한 파일들 참조 & 실행 3) Vsc..
-
BFS / DFS알고리즘/탐색 2021. 3. 25. 23:58
참조 : cyc1am3n.github.io/2019/04/26/bfs_dfs_with_python.html [Daily PS] 파이썬으로 구현하는 BFS와 DFS 파이썬으로 BFS와 DFS를 구현하는 내용입니다. cyc1am3n.github.io map 글 참조 2021.03.25 - [알고리즘/탐색] - map 구현(python) ■ BFS (Breadth First Search) 1) 정의 : 너비우선 탐색 탐색점 노드와 같은 depth에 있는 노드부터 queue 이용 먼저 탐색 > queue 이용 > 현재 노드에서 인접한 노드 먼저 탐색 > 복잡도 : O(N) // OS 상의 이유로 BFS가 성능이 조금 더 좋다 // 성능의 이유로 재귀보다는 자료구조 이용한 탐색 추천 graph_list = {1:..
-
graph(map) 구현(python)알고리즘/탐색 2021. 3. 25. 23:34
■ 그래프 1) 기본 구조 노드 - '정점' 이라고도 함 간선 - 노드 사이의 도로 ■ 예시 그래프 ■ 그래프 표현법 인접 행렬 2차원 배열에 각 노드가 연결된 형태를 기록하는 방식 > 이름이 "행렬"이기 때문에 모든 노드에 대응하는 정보를 가짐 > 모든 노드의 연결 상태를 기록 > 구현이 간단 > 간선 값 종류 ① 0 / 1 로 비연결 / 연결 ② inf / integer 로 비연결 / 연결(w 가중치) graph = [ [0, 7, 5], [7, 0, float('inf')], [5, float('inf'), 0] ] 노드 V개, 간선 E개의 경우 시간복잡도 ① 특정 노드(i, j) 연결 여부 0 / 1 OR inf / integer 확인하여 O(1) ②특정 노드에 연결된 노드 탐색 한 노드 전체를 ..
-
계수 정렬 (Counting sort)알고리즘/정렬 2021. 3. 25. 21:41
참조 : debuglog.tistory.com/68 Python으로 알고리즘 공부 03. 계수 정렬 (Counting Sort) 계수 정렬 (Counting Sort) 파이썬으로 구현 계수 정렬은 비교 정렬이 아니다. K가 정수일 때 (즉, K가 어떤 최대값을 가질때), 입력 요소들이 1부터 K까지의 정수라고 가정. 히스토그램과 같이 각 요소 debuglog.tistory.com m.blog.naver.com/PostView.nhn?blogId=dnpc7848&logNo=221439395086&proxyReferer=https:%2F%2Fwww.google.com%2F ■ 계수정렬 정의 : 중복된 값이 많이 분포되어 있는 자연수의 배열 정렬시 효과적 - 일반적으로 양의 정수(자연수)에 대해서만 정렬 가능..
-
동적 계획법(Dynamic Programming) / 분할 알고리즘(Divide and Conquer)알고리즘/Common 2021. 3. 25. 21:21
참조 : syujisu.tistory.com/147 동적 계획법 (Dynamic Programming)과 분할 정복 (Divide and Conquer) 알고리즘 1. 정의 동적계획법 (DP 라고 많이 부름) 입력 크기가 작은 부분 문제들을 해결한 후, 해당 부분 문제의 해를 활용해서, 보다 큰 크기의 부분 문제를 해결, 최종적으로 전체 문제를 해결하는 알고 syujisu.tistory.com ■ 동적 계획법(aka. DP) 1) 정의 : 입력 크기가 작은 부분 문제들을 해결한 후, 해당 부분 문제의 해를 활용해서, 보다 큰 크기의 부분 문제를 해결, 최종적으로 전체 문제를 해결하는 알고리즘 > 상향식 접근, 하위 해답에서 출발, 결과값 이용해 상위 문제 해결 > 하위 문제 해결과 상위 문제 해결 방식이..
-
퀵 소트 (Quick sort)알고리즘/정렬 2021. 3. 25. 20:46
참고 : debuglog.tistory.com/67 Python으로 알고리즘 공부 02. 퀵 정렬 (Quick Sort) 퀵 정렬 (Quick Sort) 파이썬으로 구현 퀵 정렬은 분할 정복 알고리즘의 좋은 예이다. 리스트 중 하나를 pivot으로 정하고, pivot보다 작은 아이템은 왼쪽, pivot보다 큰 아이템은 오른쪽으로 보내면서 pi debuglog.tistory.com ■ 퀵 소트 1) 정의 : 분할정복을 사용하여 piviot 값을 기준으로 하여 좌, 우를 나누어 정렬하는 방식 > (꼭 그래야 하는 것은 아니지만) piviot 보다 작은 아이템은 왼쪽, 큰 아이템은 오른쪽 > pivot은 랜덤 값이 제일 적당 ...OR... 평균에 가까운 수 > 재귀 형식 사용 : 점화식의 형태 2) 복잡도 ..
-
시간 복잡도와 알맞는 알고리즘 선택알고리즘/Common 2021. 3. 23. 01:08
■ 일반적 알고리즘의 시간복잡도 시간 복잡도 worst 시간 복잡도 least for문 1 / while문 1 당== iteration O(N) python sorting O(N*log(N)) ■ python list Operation Example Big-O Notes Index l[i] O(1) Store l[i] = 0 O(1) Length len(l) O(1) Append l.append(5) O(1) Pop l.pop() O(1) l.pop(-1) 과 동일 Clear l.clear() O(1) l = [] 과 유사 Slice l[a:b] O(b-a) l[:] : O(len(l)-0) = O(N) Extend l.extend(…) O(len(…)) 확장 길이에 따라 Construction list..