여러 개의 데이터가 존재할 경우 구간의 합을 구하는데 사용하는 자료구조트리 종류 중에 하나이고 이진 트리의 형태이며 특정 구간의 합을 가장 빠르게 구할 수 있다. O(logN)tree 의 크기를 할당 할때에는 배열의 개수가 N 일때는 N보다 큰 가장 가까운 N의 제곱수
Json 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim기반 WebToken인증에 필요한 정보들을 암호화시킨 토큰 이다.JWT 기반 인증은 JWT Token ( Access Token) 을 HTTP 헤더에 실어 서버가 클라이언트를 식별하는 방식이다.서버의 세션
https://taenami.tistory.com/69여기 있는 babel까지 하면 된다.적용이 안된이유는 styled-componenet보다 먼저 html 코드들이 불러와져서 그렇다.
pages/\_app.tsx 에서 두개를 import 해주고Thmeprovider 로 감싸서 theme을 전역으로 내려줘야한다.
공간 복잡도 : v^2시간 복잡도 " v^3소스가 더 간결함간선 수가 많으면 다익스트라 알고리즘보다 빠를 수 있음시작점으로부터 각 정점까지 최단거리만 구할때에 보통 다익스트라가 압도적으로 빠름그래프에 음의 가중치 간선이 있으면 다익스트라 알고리즘은 사용불가 But 플로
SVG 기반 아이콘을 활성화 시키기 위한 기본패키지 설치Font Awesome 아이콘에 대한 패키지 설치Solid , Regular , Brands 3개의 카테고리가 무료임마지막으로 Font Awesome을 컴포넌트 형태로 사용할 수 있도록 해주는 패키지 설치icon
상태에 변화가 필요할 때 액션이라는 것을 발생 시킴이것은 하나의 객체로 표현됨액션 객체는 다음 형식으로 이루어짐type필드는 필수로 있어야한다.그외의 값은 개발자 마음대로..액션 생성함수는 액션을 만드는 함수파라미터를 받아와서 액션 객체 형태로 만들어준다액션 생성함수를
그냥 무식하게 2중 반복문을 사용함20 \* 20 \* 20 시간 복잡도로 충분히 가능한 시간인줄 알았는데50점이 나왔다누적합 풀이로소문자 a~z까지 총 26개 \* name의 길이 로 2차원 배열을 생성a~z를 아스키코드로 변환 한 뒤에 -97을 하면 0~25까지 된
기본적으로 원시타입 , nul , undefined 도 사용이 가능하다.배열의 선언은 두가지 방식으로 할 수 있다.타입\[] , Array< type >인터페이스를 사용해서 하는법extends에 의존하게 된다.&연산자로 확장이 가능함식으로 | 연산자로 타입을 여러
컴퓨터 전역에 설치하기 위해서를 실행그리고 tsc -v 를 쳐서 설치가 와료되었는지 확인우선 tsc 명령어로 js로 바꿀수있는데tsc test.ts 이렇게 실행을하면 js로 바꿔준다.하지만 우리는 편하게 사용을 하고싶다.npm i -g ts-node를 터미널에 실행그
create-react-app 으로 리액트 폴더를 생성후패키지를 설치를 해준다그리고 를 실행해주면 tsconfig.json 파일이 생성되면서js를 타입스크립트로 바꿔주게된다.js 파일을들을 ts,tsx로 바꿔주면실행이 되지 않을것이다.그 경우https://py
입력 배열의 파싱 , 0번째 인덱스와 마지막 인덱스를 제외하면1,2,3,4 = > 1,2,3,4 로 만들어지므로arr1:-1 로 하면 1,2,3,4 라는 문자열이 만들어진다.여기서 split(',') 하면 '1','2','3','4' 가 만들어진다.R을 할 시에는 배열
특정 노드를 선택해서 가장 먼 거리에 있는 노드(B)를 찾는다.찾은 노드(B) 에서 dfs로 가장 먼 거리에 있는 노드의 거리가 트리의 지름이된다.해당 알고리즘의 증명트리의 지름 증명트리의 지름을 구하는 방법만 알면dfs를 두번 돌리면 풀리는 간단한 문제
최소스패닝 트리를 구현만 하면 풀리는 문제이다처음에 parent 배열을 만든 뒤에 자기 자신을 조상으로 만든다.그리고 (a,b) = 연결된 노드 , c = 간선의 가중치간선의 가중치를 기준으로 입력받은 배열로 정렬해준다.사이클 없이 최소한의 가중치로 연결을 하는 것 이
1번 메모리 초과최대힙으로 만들어서n번째를 출력하는 방식으로 구현을 함하지만 메모리초과..n은 최대 1500처음 반복문 에서 nlogn(n = 1500\* 1500 =2250000)4500000log(1500)≈14292410.665750567두번째 nlogn (n =
문제 입력 , 출력 solution 설명 키포인트 > 1. 이분탐색 , 투포인터를 사용해서 풀이 mid값으로 하지 않고 left , right만 사용함 두 값을 더했을 경우 0보다 작은경우 0보다 같거나 큰경우는 오른쪽 포인터에 인덱스를 1씩 더해준다. 두가지
이진트리가 아니다 자식 노드가 2개 이상일 경우도 생각해야함일자로 길이를 했을경우가 자식노드 두개를 연결했을 경우 보다 더 길 수도 있다.DFS를 할 때 a -> b노드 의 가중치를 인자로 넣어준다.다음 b의 자식노드를 돌아서 가장 긴 값을 받은 가중치 인자랑 더해서
(예외처리) n == k 일 경우에는 res 0 , 1 이 출력되어야함방문처리 , EX) 10이란 숫자에 방문횟수가 1번 이상일수도 있다.예외처리만 잘 해주면 BFS만 하면 정답이 나오는 것 같다.
현재 위치에서 \*2 로 이동하는것은 비용이 0 이다.1번에 의해서 큐에 제일 앞에 넣어줘서 \*2로 이동할 수 있는 모든경우의 수 를 dis(거리)에 저장을 해준다.그 이후에 + 1 , -1 거리를 이동하는 경우를 넣어준다.제일 중요한건 \*2로 이동하는 가중치가 0
k번째 수는 최대 k값을 가짐k번째의 수 보다 작은 수의 개수를 찾음mid의 값보다 작은 수의 개수는EX) 3 3 에서 7보다 작은 수의 개수는11 ~ 13 = 3개 = min(n,7/1) = 321 ~ 23 = 3개 = min(n,7/2) = 331 ~ 3\*2