일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- compateto
- 스프링부트
- AWS
- api 비동기처리
- 음악 url 파일 다운로드
- 딥다이브
- TypeORM
- invalid_grant
- 유효시간 설정 url
- 우아한 테크코스
- Deep Dive
- concurrency limit
- oauth
- 우아한테크코스
- bucket4j
- 프리코스
- this
- 타입스크립트
- api 요청 수 제한
- 모던 자바스크립트
- 코멘토 #코멘토실무PT #실무PT후기 #실무강의 #리액트강의 #웹프로그래밍 #react #웹개발실무
- redis
- Dev-Matching
- 파일 url
- 프로그래머스
- NestJS
- 검색
- 프론트엔드 과제
- 프론트엔드
- 자바스크립트
- Today
- Total
목록학습일지 (39)
개발 알다가도 모르겠네요
트리의 응용 - 트라이 9202: Boggle import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { static int[] mx = {-1, 1, 0, 0, -1, 1, -1, 1}; static int[] my = {0, 0, -1, 1, -1, -1, 1, 1}; static int[] score = {0, 0, 0, 1, 1, 2, 3, 5, 11}; static int W, N; static char[][] map; static boolean[][] visited; static String answer; static int sum; static int count; static StringBuilder..

이진 트리의 표현 연속 구조- 일차원 배열을 이용한 구현 부모: i/2 왼쪽 자식: i*2 오른쪽 자식: i*2 +1 힙 힙 조건 예시: 각 노드의 키 값은 자식 노드의 키 값보다 더 크다. 일차원 배열로 구현. 일반적으로 그룹을 정렬(Heap Sort) 하거나 최소/최대 값을 찾을 때 사용. 최소 힙: 부모노드의 키 값이 자식노드의 키 값보다 항상 작다. 최대 힙: 부모노드의 키 값이 자식노드의 키 값보다 항상 크다. 힙의 삽입 연산 트리의 가장 마지막 위치에 노드 삽입 추가된 노드와 그 부모 노드가 힙 조건을 만족하는지 확인 만족하지 않는다면 부모와 자식의 키 값을 바꾼다. 조건에 만족하거나 추가된 노드가 루트에 도달할 때까지 2 ~ 3 반복 완전 이진 트리의 리프 노드부터 루트 노드까지 연산을 함...
Compare 함수의 이해 import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Main { public static void main(String[] args) { Item item1 = new Item(1,3,1); Item item2 = new Item(1,2,3); Item item3 = new Item(1,1,2); List list = new ArrayList(); list.add(item1); list.add(item2); list.add(item3); System.out.println(list); Collections.sort(list); System.out.println(li..
항상 구현 전에 주석처리하고 시작 할 것. DFS와 BFS를 구분 짓는 가장 중요한 점 "동시성" 동시에 무언가를 해야한다? BFS! DFS 방문'한'게 스택에 들어감 1.체크인(방문) 2.목적지인가? 3.연결된 곳을 순회 4.갈 수 있는가? 5.간다. 6.체크아웃 항상 1,6의 뎁스 맞추는 것을 명심해야 한다. 그래야 스택오버플로우 실수를 예방할 수 있음. BFS 방문'할'게 큐에 들어감 1.큐에서 꺼내옴 2.목적지인가? 3.연결된 곳을 순회 4.갈 수 있는가? 5.체크인 6.큐에 넣음. 1062번: 가르침 import java.util.Scanner; public class Main { static int N, K; static String[] words; static boolean[] visited..

스코프(scope)란? 식별자(identifier)가 유효한 범위 (자바스크립트 엔진이 식별자를 검색할 때 사용하는 규칙) var var1 = 1; // 코드의 가장 바깥 영역에서 선언한 변수 if (true) { var var2 = 2; // 코드 블록 내에서 선언한 변수 if (true) { var var3 = 3; // 중첩된 코드 블록 내에서 선언한 변수 } } function foo() { var var4 = 4; // 함수 내에서 선언한 변수 function bar() { var var5 = 5; // 중첩된 함수 내에서 선언한 변수 } } console.log(var1); // 1 console.log(var2); // 2 console.log(var3); // 3 console.log(va..

실행 컨텍스트(execution context)는 자바스크립트의 동작 원리를 담고 있는 핵심 개념. 실행 컨텍스트를 바르게 이해하면 아래 이해 가능. 자바스크립트가 스코프 기반으로 식별자와 식별자 바인딩(식별자에 바인딩 된 값)을 관리하는 방식과 호이스팅이 발생하는 이유 클로저의 동작 방식 태스크 큐와 함께 동작하는 이벤트 핸들러와 비동기 처리의 동작 방식 소스코드의 타입 ECMAScript 사양은 소스코드(ECMAScript Code)를 4가지 타입으로 구분. 4가지 타입의 소스 코드는 실행 컨텍스트를 생성. 소스코드를 4가지로 구분하는 이유는 소스코드의 타입에 따라 실행 컨텍스트를 생성하는 과정과 관리 내용이 다르기 때문. 전역 코드 global code 전역에 존재하는 소스코드. 전역에 정의된 함수..

코드의 재사용 동일한 작업을 반복적으로 수행하는 코드를 함수로 만들어 사용하는 것이 효율적. 유지보수 편의성 & 코드의 신뢰성 같은 코드의 중복으로 인한 수정에 걸리는 시간과 사람의 실수를 억제하고 재사용성을 높일 수 있음. 코드의 가독성 함수는 객체 타입의 값. 적절한 함수 이름은 함수 내부 코드를 이해하지 않고도 함수의 역할을 파악할 수 있게 돕고, 이는 코드의 가독성을 향상시킴. // 변수에 "함수 리터럴"을 할당 var f = function add(x, y) { return x + y; }; 리터럴(literal) 은 문자 or 약속된 기호를 사용해 값을 생성하는 표기 방식. 위에 코드는 함수 리터럴 을 변수에 할당 한 것. 즉, 함수 리터럴도 평가되어 값을 생성하며, 이 값은 객체(object..

1. 원시 타입의 값 === 원시 값 은 변경 불가능한 값(immutable value) 객체 타입의 값 === 객체 는 변경 가능한 값(mutable value) 2. 원시 값을 변수에 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장. 객체를 변수에 할당하면 변수(확보된 메모리 공간)에는 참조 값이 저장. 3. 원시 값을 갖는 변수를 다른 변수에 할당하면 원시 값이 복사되어 전달 → 값에 의한 전달(pass by value) 객체를 가리키는 변수를 다른 변수에 할당하면 원본의 참조 값이 복사되어 전달 → 참조에 의한 전달(pass by reference) 원시 값 원시 값은 변경 불가능한 값(immutable value) == 읽기 전용(read only) 값 변경 불가능하다. 변수는 하나의 ..

객체란? 원시 값: 변경 불가능한 값 (immutable value) 객체 값: 변경 가능한 값 (mutable value) 프로퍼티: 객체의 상태를 나타내는 값. 메서드: 프로퍼티를 참조하고 조작할 수 있는 동작. (프로퍼티 값이 함수일 경우 일반 함수와 구분하기 위해 메서드라 부름) 프로퍼티 접근 마침표 프로퍼티 접근연산자(.)를 사용하는 마침표 표기법 대괄호 프로퍼티 접근 연산자([...])를 사용하는 대괄호 표기법 var person = { name: 'Lee' } //마침표 표기법에 의한 프로퍼티 접근 console.log(person.name); //대괄호 표기법에 의한 프로퍼티 접근 console.log(person['name']); person.last-name 에서 Node.js 환경과 ..
문자열 연결 연산자 // 문자열 연결 연산자 '1' + 2; // -> '12' 1 + '2'; // -> '12' // 산술 연산자 1 + 2; // -> 3 // true는 1로 타입 변환된다. 1 + true; // -> 2 // false는 0으로 타입 변환된다. 1 + false; // -> 1 // null은 0으로 타입 변환된다. 1 + null; // -> 1 // undefined는 숫자로 타입 변환되지 않는다. +undefined; // -> NaN 1 + undefined; // -> NaN 위의 코드를 보면 암묵적으로 타입이 자동 변환되는 것을 알 수 있다. 이를 암묵적 타입 변환 또는 타입 강제 변환 이라고 한다. 동등/일치 비교 연산자 비교 연산자 의미 사례 설명 부수 효과 ==..