[React] React 완벽 가이드 섹션 18 : Redux
·
Frontend/Study
https://www.udemy.com/course/best-react/ 【한글자막】 React 완벽 가이드 with Redux, Next.js, TypeScript Javascript부터 웹 어플리케이션 배포까지, React와 프론트엔드 최신 기술을 가장 쉽고 확실하게 배우는 법 www.udemy.com 1. Redux 1) 개념 : 크로스 컴포넌트, 앱 와이드 상태를 위한 상태 관리 시스템 - 우리의 상태를 변경하고 화면에 표기하는 데이터를 관리하도록 도와주는 역할 2) State의 종류 ⓐ 로컬 state : 데이터가 변경되어서 하나의 컴포넌트에 속하는 UI에 영향을 미치는 상태 👉 useState를 이용하거나 더 복잡하다면 useReducer을 사용하여 관리할수 있음 ⓑ Cross-componen..
[바킹독의 실전 알고리즘] 0x05강 ~ 0x08강
·
Algorithm/Study
https://www.youtube.com/playlist?list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY 바킹독의 실전 알고리즘 강의 코딩테스트 대비를 위한 바킹독의 실전 알고리즘 강의입니다. 블로그 URL : https://blog.encrypted.gg/category/강좌/실전%20알고리즘 www.youtube.com 1. 스택 : 선입후출 1) 성질 - 원소 추가, 삭제 : O(1) - 제일 상단 원소 확인 : O(1) - 그 외 나머지 원소 확인/변경은 원칙적으로 불가 2) 구현 해보기 const int MX = 1000005; int dat[MX]; int pos = 0; void push(int x) { dat[pos] = x; pos++; } void pop() {..
[백준] 1406 에디터(C++)
·
Algorithm/Solution
1406번: 에디터 (acmicpc.net) 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 난이도 : 실버2 풀이 과정 : 일단 시간제한이 0.2초이고 문자열이 십만, 명령어의 개수가 50만이므로 최악의 경우 최대 연산 개수가 십만*50만 = 500억이 된다. 그러면 O(n)으로 짜면 무조건 시간 초과가 나고 선형 시간에 알고리즘을 짜야된다. 선형 시간에 이 문제를 푸는 방법은 바로 연결리스트 자료 구조를 이용하면된다. 배열/벡터와 달리 연결리스트는 특정 인덱스의 원소를 삭제, 추가 하는데 시간복잡도가 O(1..
[Js] 2차원 배열 new Array().fill()로 값 할당할 때 주의할 점
·
Frontend/Article
요새 프론트엔드가 js로 코딩테스트 보는게 많아져서 js로 여러 알고리즘 문제를 풀고있는데... 알고리즘 문제를 풀다보면 배열을 초기화 해놓고 그 배열을 이용하는 경우가 많다. 그래서 js도 배열을 초기화하는 메서드 fill 이 있길래 그걸 주로 이용했엇는데 2차원 배열에선 절대 사용하면 안되는걸알았다... let arr = new Array(4).fill([]); for(let i=0;i
[바킹독의 실전 알고리즘] 0x03강 ~ 0x04강
·
Algorithm/Study
https://www.youtube.com/playlist?list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY 바킹독의 실전 알고리즘 강의 코딩테스트 대비를 위한 바킹독의 실전 알고리즘 강의입니다. 블로그 URL : https://blog.encrypted.gg/category/강좌/실전%20알고리즘 www.youtube.com 1. 배열 1) 성질 O(1)에 k번째 원소 확인, 변경 가능 추가적으로 소모되는 메모리의 양이 거의 없음 데이터들이 붙어있으므로 캐시지역성(cache hit rate)이 좋음 메모리 상에 연속한 구간을 잡아야 해서 할당에 제약이 걸림 임의의 위치에 원소에 삽입/삭제하기 위해서는 O(N) 시간이 걸림 insert, erase 함수 구현하기 #include us..
[바킹독의 실전 알고리즘] 0x01강 ~ 0x02강
·
Algorithm/Study
(5) 바킹독의 실전 알고리즘 강의 - YouTube 바킹독의 실전 알고리즘 강의 코딩테스트 대비를 위한 바킹독의 실전 알고리즘 강의입니다. 블로그 URL : https://blog.encrypted.gg/category/강좌/실전%20알고리즘 www.youtube.com 위 강의를 보고 학습한 내용을 바탕으로 작성하였습니다. 1. 시간복잡도, 공간복잡도 1) 시간 복잡도 - 컴퓨터는 1초에 대략 3~5억개 정도 연산 처리 가능 - 입력의 크기와 문제를 해결하는데 걸리는 시간의 상관관계 - 빅오 표기법 : 주어진 식을 값이 가장 큰 대표항만 남겨서 나타내는 방법 O(1) < O(logN) < O(N) < O(NlogN) < O(N^2) < O(2^N) < O(N!) O(1) O(logN) O(N) O(N..
[코딩 테스트를 위한 자료 구조와 알고리즘 with C++] 1장 정리
·
Algorithm/Study
코딩 테스트를 위한 자료 구조와 알고리즘 with C++ - YES24 코딩 테스트를 위한 자료 구조와 알고리즘 with C++ - YES24 67개 문제 풀이로 익히는 C++ 자료 구조와 알고리즘!코딩 테스트 준비 및 최신 C++ 문법으로 알고리즘을 학습하자!C++ 자료 구조부터 그리디 알고리즘, 분할 정복 알고리즘, 그래프 알고리즘, 동적 www.yes24.com 🔔 1장 리스트, 스택, 큐 1.1 들어가며 응용 프로그램 설계시 중요 고려 항목 중 하나는 데이터 관리. 데이터를 메모리에 저장하기 위해 여러 자료 구조를 사용할 수 있음 응용 프로그램에서 필요한 기능을 구현하고, 동작 성능과 안정성을 확보하려면 적절한 "자료 구조" 선택해야 함 1.2 연속된 자료 구조와 연결된 자료 구조 데이터를 처리하..
[C++] vector 최솟값 최댓값 찾기
·
Major/C&C++
arr이라는 벡터에서 최대값/최소값을 찾아 삭제하는 메서드 arr.erase(min_element(arr.begin(), arr.end())); arr.erase(max_element(arr.begin(), arr.end()));
[React] React 완벽 가이드 섹션 13 클래스 컴포넌트
·
Frontend/Study
1. 클래스 컴포넌트 - 과거에 많이 사용한 컴포넌트 선언 방식 * React 16.8이전에는 사이드 이펙트(훅)를 다루기 위해서는 클래스 기반 컴포넌트를 사용했어야 했다. // 클래스 class User extends Component { render(){ return {this.props.name}; } } // 함수형 const User = (props) => { return {props.name}; }; - props는 this예약어를 사용해야하고, Component를 상속받아야 한다. - render() 를 사용한다. class Users extends Component { constructor(){ super(); this.state = { // 상태 조각과는 상관없이 state는 객체가 된다..