자바스크립트 3

[백준] 5557 1학년 node/javascript(자바스크립트)

(끝에 출력때문에 고생해서 블로그에 정리해두려고 한닷) 문제링크 : https://www.acmicpc.net/problem/5557풀이 및 사고모든 케이스를 깡으로 계산하면 2^100( +, -로 두 가지 경우가 계속 발생)로 시간 초과다.근데 문제에서 0에서 20까지만 결과값을 유지한다고 주어져서 최대 100*21의 복잡도를 가지는 배열로 풀 수 있었다. 01...20첫 번째 값    두 번째 값    ...    마지막 값     요런 배열을 만들어서 이전 줄을 다 순회하면서 1이상의 값(해당 경우의 수)일 때 현재 값으로 +/-한 값(인덱스)에 경우의 수를 더해주면 된다.(문제를 대충 읽어서 주어진 출력을 다 써서 0~20 사이의 값을 만들면 되는줄 알았는데 그게 아니고 입력 제일 마지막 값이 되..

TIL/알고리즘 2024.08.03

[백준] 2412 암벽 등반 node/javascript(자바스크립트)

(블로그로 정리된 자료가 없어서 문제 푸는 분들에게 도움이 될까 남겨봅니닷) 문제 링크 : https://www.acmicpc.net/problem/2412풀이 및 사고좌표를 받아서 y값, x값 순으로 정렬했다. 그리고 좌표가 정렬된 배열에서 index를 가지고 bfs를 돌렸다. y값 차이가 2초과면 멈추게 했다. 그리고 올라가기만 한다는 보장이 없어서 해당 index보다 앞과 뒤 둘 다 탐색했다.방문 처리는 좌표가 정렬된 배열과 같은 길이의 1차원 배열로 처리했다. (처음에는 전체 board를 저장하는 2차원 배열을 만드려고 했다가 x좌표가 1,000,000이고 y좌표가 200,000인데 메모리 제한이 128MB라 공간 복잡도 초과가 떴다.)코드const input = require('fs').read..

TIL/알고리즘 2024.08.02

브라우저 렌더링 과정

렌더링 과정브라우저는 HTML, CSS, 자바스크립트, 이미지 등 렌더링에 필요한 리소르를 서버에 요청해 응답을 받는다.브라우저의 렌더링 엔진은 서버로부터 받은 HTML과 CSS를 파싱해 DOM과 CSSOM을 생성하고 이들을 결합해 렌더 트리를 생성한다.브라우저의 자바스크립트 엔진은 서버로부터 응답된 자바스크립트를 파싱해 AST(Abstract Syntax Tree)를 생성하고 바이트코드로 변환해 실행한다. 이때, 자바스크립트는 DOM API를 이용해 DOM과 CSSOM를 변경할 수 있다. 이렇게 변경된 DOM과 CSSOM은 다시 렌더 트리로 결합된다.렌더 트리를 기반으로 HTML 요소의 레이아웃(위치와 크기)을 계산하고 브라우저 화면에 HTML 요소를 페인팅한다.요청과 응답이제 세부 과정을 살펴보자.기..

TIL/CS 2024.02.03