[React] 게시판만들기(Redux)
·
개발/React
GitHub - TeTedo/react_project Contribute to TeTedo/react_project development by creating an account on GitHub. github.com 기존 게시판에서 useState를 전부 Redux로 바꿨다. 기능도 추가했다. 수정하기, 삭제하기 기능 추가
[React] Redux
·
개발/React
1. 리덕스란? 리액트에서 사용할수 있는 하나의 라이브러리이다. 라이브러리라는건 없어도 리액트로 작엄물을 만들수 있지만 편하게 작업하려고 쓰는것이다. 실무에서 리덕스를 안쓰면 매우 불편하기 때문에 필수로 사용한다. 리액트는 자식 컴포넌트에 props로 전달은 가능한데 다른 컴포넌트에서 직접 데이터 공유가 불가능하다. 그래서 공유해야할 데이터를 공유받는 자식 컴포넌트들의 공통부모에서 State를 만들어서 자식 컴포넌트에게 전달한다. 리액트는 데이터 흐름이 단방향이기 때문에 이러한 작업이 필요하다. 그래서 작업을 하다보면 부모 컴포넌트에 무척 많은 props가 생기는데 이런 단점을 보완하기 위해서 리덕스를 사용한다. 리덕스는 state를 저장해주는 store(저장소) 각각의 컴포넌트가 어느 컴포넌트던 사용할..
[코딩테스트] 프로그래머스 문제
·
개발/알고리즘
1. 최소직사각형 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(sizes) { sizes = sizes.map((el) => el.sort((a, b) => a - b)); len1 = sizes.sort((a, b) => b[0] - a[0])[0][0]; len2 = sizes.sort((a, b) => b[1] - a[1])[0][1]; return len1 * len2; } 2. 영어 끝말잇기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기..
[BigO] 객체와 배열
·
개발/알고리즘
1. 객체 빠른접근, 빠른제거에 좋다 정렬되어있지는 않지만 다른건 매우 빨드ㅏ. (1) Insertion(추가) : O(1) (2) Removal(제거) : O(1) (3) Searching(탐색) : O(N) (4) Access(접근) : O(1) 객체의 입력,제거,접근은 다 상수시간이다. 탐색은 n의 시간복잡도를 가진다. 2. 객체 메서드들 (1) Object.keys : O(N) (2) Object.values : O(N) (3) Object.entries : O(N) (4) hasOwnProperty : O(1) 3. 배열 객체와의 가장 큰 차이는 정렬을 할 수 있다는 것이다. (1) Insertion(추가) : It depends(상황에 따라) (2) Removal(제거) : It depends..
[코딩테스트] 프로그래머스 문제 모음
·
개발/알고리즘
1. 같은 숫자는 싫어 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr (1) 1번 풀이 function solution(arr) { for (let i = 0; i < arr.length; i++) { if (arr[i] == arr[i + 1]) { arr.splice(i, 1); i--; } } return arr; } 효율성 테스트 시간초과 splice로 계속 접근해서 시간이 더 걸린것같다. (2) 2번 풀이 function solution(arr) { let answer = []; for (let i = 0; i < arr.length; i++) ..