javascript5 1. 순환 (Recursion) 1. Recursion(순환 or 재귀 함수)자기 자신을 호출하는 함수 1)무한루프에 빠지지 않으려면?-Base case: 적어도 하나의 Recursion에 빠지지 않는 경우가 존재해야 한다. -Recursion: Recursion을 반복하다보면 결국 Base case로 수렴해야 된다. -대부분의 순환은 반복으로 바꿀 수 있다 -알고리즘의 정의가 순환적으로 돼있는 경우 유용하다. ex. 이항 계수 계산, 이진트리 알고리즘, 이진 탐색, 하노이탑 이제 기본 예제들을 알아보자 1. 팩토리얼 1) 재귀function factorial1(n){ if(n==0){ return 1; } else{ return n*factorial1(n-1); } }- 시간복잡도: O(n) 2) 반복function factorial.. 2024. 3. 4. [백준] Javascript/Node.js 입력값 받는 방법 자바스크립트로 백준 문제를 풀 경우는 node.js 로 문제를풀어야 하고 프로그래머스와 다르게 입출력을 직접 다뤄야 하기 때문에그래서 입출력 방법에 정리해보려고 한다. 1. readline 모듈 사용프로그래머스는 readline 모듈을 사용하고 있으므로프로그래머스에 기본으로 작성되어있는 코드를 통해 알아보자.const readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout});rl.on('line', function (line) {//입력값 처리 코드 }).on('close',function(){//입력 이후 실행 코드});여기까지가 기본.. 2024. 3. 3. DOM (1) - DOM이란 / 요소 접근 1. 문서객체모델(DOM) 이란? -웹 문서의 모든 요소를 자바스크립트를 이용하여 조작할 수 있도록 객체를 사용해 문서를 해석하는 방법 2. DOM 트리 -웹 문서의 태그는 요소 노드로 표현 -태그가 품고 있는 텍스트는 해당 요소 노드(태그)의 자식 노드인 텍스트 노드로 표현 -태그의 속성은 모두 해당 요소 노드(태그)의 자식 노드인 속성 노드로 표현 -주석은 주석 노드로 표현 그렇다면 먼저 요소 노드(태그) 에 접근하는 방법에 대해 알아보자 3.DOM 요소 접근 -getElementById() : id 선택자로 접근하는 함수 -getElementsByClassName(): class값으로 접근하는 함수 -getElementsByTagName() : 태그 이름으로 접근하는 함수 -querySelector.. 2024. 2. 29. Linked List(연결 리스트) Q1. 연결리스트(Linked List)란? - 메모리 내에 분산되어 있는 데이터들을 하나로 묶어 관리하기 위해 노드 내부에 다음 노드의 위치에 관한 정보가 포함되어 있는 자료 구조 이때, 각각의 노드는 데이터 노드와 다음 노드를 가르키는 포인터 필드로 구성된다 - 연결 리스트에서는 첫 번째 노드부터 시작하여 찾고자 하는 요소까지 순차적으로 접근해야 한다 =>최악의 경우 O(n)의 시간이 소요된다(찾고자 하는 요소가 마지막에 위치할 때) 이제 Linked List를 직접 구현해보자 코드는 자바스크립트로 구현하려고 한다 먼저 노드를 구현해보자. //Node class Node{ //다음 노드의 위치 next = null; //현재 노드의 값 constructor(value){ this.value = val.. 2024. 2. 28. 이전 1 2 다음