리덕스란? 자바스크립트 상태 관리 라이브러리 리덕스가 왜 필요할까? 프로젝트 규모가 커질 수록 컴포넌트 개수도 많아질 것이고 그에 따라 서로 다른 컴포넌트끼리 공유하는 상태(state) 또한 많아진다. 리액트는 부모 컴포넌트에서 자식 컴포넌트로 데이터가 흐르는 단방향 패턴이며 자식 컴포넌트들 간 다이렉트로 데이터 전달이 불가능하다. 리액트만으로 상태를 관리할 때 문제점 Props drilling 이슈 하위 컴포넌트에서 상위 컴포넌트에 있는 상태를 변화시키기 위해서는 여러 번의 props 전달을 통해야 한다. 전달만을 위한 props가 생기기 때문에 코드가 복잡해지고 유지보수가 어려워지며, 불필요한 리렌더링이 많아지는 단점이 있다. 리덕스를 이용할 때 이점 리덕스를 이용하면 Store라는 전역 상태 저장소..
개요 배열은 프로그래밍이나 알고리즘을 풀 때 항상 사용하게 되는 자료형인데 사용할 때마다 새로운 것을 알게되는 것 같다. 기초이자 너무나 중요한 요소이기 때문에 새로운 것을 알게될 때마다 업데이트를 하고 두고두고 찾아보고자 개념 정리를 해보기로 하였다! 배열 선언 & 초기화 배열을 선언할 때 미리 타입과 크기를 지정해주어야 한다. // int 형 배열 선언 & 초기화 int[] score = new int[5]; // int 타입의 값 5개가 저장될 빈 공간 생성 // 초기화 score[0] = 10; score[1] = 20; score[2] = 30; score[3] = 40; score[4] = 50; // for문으로 배열을 순차적으로 순회에 값을 넣어주는 방법도 있다. for(int i = 0;..
동기와 비동기 의미 동기는 하나의 요청이 오면 완료가 되어야 다음 요청을 실행하는 순차적 방식으로 흐름을 쉽게 예측할 수 있고 비동기는 어떤 요청이 완료되기 전에 다음 요청을 실행하는 동시적 방식으로 여러 작업을 동시에 효율적으로 처리할 수 있다. 콜백 함수 콜백 함수의 사용 목적 비동기 방식으로 작성된 함수를 동기 처리하기 위해 주로 사용된다. 비동기 처리를 기본으로 하면서 일부 순차적인 처리를 해야될 때가 있기 때문이다. 콜백 함수 형태 function main(param1, param2, callbackFunc) { // ... 처리 내용 callbackFunc(); } main(1, 2, func()); 보통 함수를 선언한 뒤 함수 타입 파라미터를 맨 마지막에 하나 더 선언해주는 방식으로 정의한다..
문제링크 📝 문제 트리(tree)는 사이클이 없는 무방향 그래프이다. 트리에서는 어떤 두 노드를 선택해도 둘 사이에 경로가 항상 하나만 존재하게 된다. 트리에서 어떤 두 노드를 선택해서 양쪽으로 쫙 당길 때, 가장 길게 늘어나는 경우가 있을 것이다. 이럴 때 트리의 모든 노드들은 이 두 노드를 지름의 끝 점으로 하는 원 안에 들어가게 된다. 이런 두 노드 사이의 경로의 길이를 트리의 지름이라고 한다. 정확히 정의하자면 트리에 존재하는 모든 경로들 중에서 가장 긴 것의 길이를 말한다. 입력으로 루트가 있는 트리를 가중치가 있는 간선들로 줄 때, 트리의 지름을 구해서 출력하는 프로그램을 작성하시오. 아래와 같은 트리가 주어진다면 트리의 지름은 45가 된다. 트리의 노드는 1부터 n까지 번호가 매겨져 있다. ..
문제링크 📝 문제 지구 온난화로 인하여 북극의 빙산이 녹고 있다. 빙산을 그림 1과 같이 2차원 배열에 표시한다고 하자. 빙산의 각 부분별 높이 정보는 배열의 각 칸에 양의 정수로 저장된다. 빙산 이외의 바다에 해당되는 칸에는 0이 저장된다. 그림 1에서 빈칸은 모두 0으로 채워져 있다고 생각한다. 그림 1. 행의 개수가 5이고 열의 개수가 7인 2차원 배열에 저장된 빙산의 높이 정보 빙산의 높이는 바닷물에 많이 접해있는 부분에서 더 빨리 줄어들기 때문에, 배열에서 빙산의 각 부분에 해당되는 칸에 있는 높이는 일년마다 그 칸에 동서남북 네 방향으로 붙어있는 0이 저장된 칸의 개수만큼 줄어든다. 단, 각 칸에 저장된 높이는 0보다 더 줄어들지 않는다. 바닷물은 호수처럼 빙산에 둘러싸여 있을 수도 있다. 따..
- Total
- Today
- Yesterday
- 정렬
- CS
- JavaScript
- Algorithm
- 리액트
- JPA
- dfs
- 자바스크립트
- BFS
- Nest
- java
- 이분탐색
- SQL
- 자바트리
- SQLD
- 자바bfs
- 프로그래머스
- DP
- 알고리즘
- Spring
- 자바
- Queue
- 백준
- Comparator
- 자바dp
- 스프링
- 타입스크립트
- 스프링부트
- 형변환
- 해시맵
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |