일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리액트
- 코테
- 백준구현문제
- HTML
- JS프로그래머스
- 백준구현
- CSS
- 리액트댓글기능
- HTML5
- 몽고DB
- 리액트커뮤니티
- 백준js
- 백준알고리즘
- 백준
- dp알고리즘
- 익스프레스
- JS
- 백준골드
- 프로그래머스
- 자바스크립트
- 백준nodejs
- 안드로이드 스튜디오
- 프로그래머스코테
- css기초
- 포이마웹
- 다이나믹프로그래밍
- 알고리즘
- 프로그래머스JS
- js코테
- 코딩테스트
- Today
- Total
목록TIL (64)
개발새발 로그
📝1일차 배운 것 1. 브라우저 동작원리 2. 변수, 상수, 자료형 그리고 메모리 3. 메모리 심화 4. 표현식과 연산자 5. 흐름 제어 6. 배열과 객체 7. 스코프와 클로저 ☝중요한 점 1. DOM이란? - HTML 문서를 객체화한 것 2. 렌더링이란? - HTML,CSS, 자바스크립트 등 개발자가 작성한 문서가 브라우저에서 출력되는 과정 3. 렌더링 과정 - DOM트리 생성 - CSSOM 트리 생성 - 렌더링 트리 생성 - 레이아웃 단계 - 페인팅 단계 4. var, let, const 차이 5. 메모리는 할당, 사용, 해제의 과정을 거친다. 6. GarbageCollector의 GarbageCollection의 역할 - 사용하지 않는 메모리를 해제하는 역할 7. 변수가 선언되면 값을 가리키는 것이..

📝배운 내용 1. this의 결정 시점 2. 즉시 실행 함수에서의 매개변수 지정 3. 함수 레벨 스코프 4. 자체 스코프를 가지지 않은 arrow function 5. bind 사용 6. 클로저는 무엇인가? 7. for와 forEach 8. var, let, scope의 차이 9. 호이스팅 💡알게된 점 1. 함수에서 this는 함수가 실행되는 시점에서 결정된다. - new 키워드 없이 함수를 실행하면 함수 내부의 this는 window를 가리킨다. - new 키워드가 있다면 새로 생긴 객체를 가리킨다. 2. 함수의 내부의 변수들은 외부에서 접근할 수 없다. 3. 중첩 객체 내부에서의 this는 선언된 위치에서의 객체를 가리킨다. 4. 인자를 함수로 받은 함수(setTimeout(function())과 같..
📋용어, 질문 정리 마크업이란? 과거에 원고에 대한 수정 지침을 나타내는 용어 - 수정사항을 가리키는 자료 디지털 세계에서 와서는 디스플레이 혹은 출력물에 대해 표시하는 방법을 나타내는 방식 HTML은 프로그래밍 언어인가? 실제로 HTML은 로직이 실행되지 않기 때문에 프로그래밍 언어라 할 수 없다. 계산이 안되기 때문 CSS탄생 문서 양식에 대한 수정사항이 생겼을 때 비슷한 문서들을 한번에 수정하지 못하고 하나씩 일일이 수정해야했다. 그래서 HTML의 내용과 표현을 분리하여 CSS라는 별도의 양식을 만들어 HTML 문서에 대한 표현을 해당 파일에 위임했다. 이로서 모든 문서를 한번에 수정할 수 있게 되었다. HTML5 - 2014년 10월 28일 표준안이 확정 - 영상과 음성을 처리하기 위한 멀티미디어..

동적계획법 - 해결한 작은 문제로 큰 문제를 해결하는 문제 풀이 방식 -> 두가지 방법론이 있다. 메모이제이션 타뷸레이션 메모이제이션 - 하향식 접근법 - 동적 계획법에서작은 문제들의 결과는 항상 같다. - 결과들을 메모리에 저장해 필요할 때 꺼내 쓰는 것이 메모이제이션 ex) 기존 백트래킹을 통한 피보나치 수열에서 중복되는 인자의 함수를 메모이제이션으로 미리 저장해 값을 빠르게 반환 f(n) = f(n-1) + f(n+1) -> 이처럼 규칙이 있다면 가능! 타뷸레이션 - 상향식 접근법 - 필요한 값들을 미리 계산해두는 것 - 메모이제이션은 필요할 때 계산하는 것, 타뷸레이션은 미리 계산하는 것 동적계획법 코딩테스트 https://programmers.co.kr/learn/courses/30/lesson..

백트래킹 - 모든 경우의 수를 탐색하는 알고리즘 자바스크립트는 재귀 효율이 나쁘기 때문에 DFS를 구현할 경우 스택을 이용하는 것이 좋다. 탐색에서 순환이 발생할 수 있다면 BFS를 이용하는 것이 편하다. https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 📋풀이방법 1. 체스가 한행에 하나의 퀸만 들어갈 수 있다는 것을 알아야한다 2. 그리고 다음 행에 퀸을 어디에 둘지 재귀로 검사하면서 백트래킹을 이용해야한다. 3. 위 그림처럼 둘 수 없는 좌표는 뻗어나갈 수..

그리디 - 매 선택에서 지금 이 순간 가장 최적인 답을 선택하는 알고리즘 - 최적해를 보장해주지 않는다. 그리디 알고리즘의 특징 - 보통 최적해를 구하는 알고리즘보다 빠른 경우가 많다. - 크루스칼 알고리즘과 다익스트라 알고리즘 등에 사용된다. - 직관적인 문제에 사용된다. 동전 반환 문제 - 거스름돈은 번거롭기 때문에 최대한 적은 갯수의 동전을 사용해서 거슬러 주고 싶다. -> 큰 단위의 동전부터 거스름돈을 만들면 된다. 코딩테스트 그리디 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들..
너비 우선 탐색(BFS) -그래프 탐색 알고리즘으로 같은 깊이에 해당하는 정점부터 탐색하는 알고리즘 BFS의 특징 - Queue를 이용하여 구현할 수 있다. - 시작 지점에서 가까운 정점부터 탐색한다. - V가 정점의 수, E가 간선의 수 일 때 BFS의 시간복잡도는 O(V+E)이다. 깊이 우선 탐색(DFS) - 그래프 탐색 알고리즘으로 최대한 깊은 정점부터 탐색하는 알고리즘 DFS의 특징 - Stack을 이용하여 구현할 수 있다. - 시작 정점에서 깊은 것부터 찾는다. - V가 정점의 수, E가 간선의 수 일 때 DFS의 시간복잡도는 O(V+E)이다. 코딩테스트 DFS 문제 https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코..

선형 탐색 - 순서대로 하나씩 찾는 알고리즘 - O(n) 시간 복잡도가 걸린다. 이진 탐색 - 정렬되어 있는 요소들을 반씩 제외하며 찾는 알고리즘 - O(log n)만큼 시간복잡도가 걸린다. 이진 탐색의 특징 - 반드시 정렬이 되어있어야 사용할 수 있다. - 배열 혹은 이진트리를 이용하여 구현할 수 있다. - O(log n) 시간복잡도인 만큼 상당히 빠르다. 배열을 이용한 구현 방법 이진 탐색 트리를 이용한 구현 방법 - 배열을 이용한 방법은 중간에 요소를 추가하거나 삭제하는 경우에는 선형시간이 걸린다는 단점이 여전히 존재한다. - 이 단점을 해결하기 위해 이진 탐색 트리를 이용한다. 이진 탐색 트리 - 이진 탐색을 위한 이진트리로 왼쪽 서브트리는 루트보다 작은 값이 모여있고, 오른쪽 서브트리는 루트보다..