백준 1309 < 동물원 > JavaScript
·
✏️ Study/⚙️ 알고리즘 & 자료구조
📍문제 링크 https://www.acmicpc.net/problem/1309 1309번: 동물원 첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다. www.acmicpc.net 📍알고리즘 분류 - 다이나믹 프로그래밍 📍문제 풀이 - 자연수 N이 주어질 때, 2 * N 배열에 원소를 채우는 경우의 수를 9901로 나눈 나머지를 구하라 - 원소는 가로나 세로로 붙을 수 없다 - 원소를 하나도 배치하지 않은 경우도 한 가지의 경우의 수로 친다 N =1 일 때의 결과를 N = 2 일 때 이용할 수 있다면, DP로 해결할 수 있다 """ N = 1 1. 0,0 좌표에 사자 배치 OX 2. 0,0 좌표에 사자 no배치 XO 3. no배치 XX ------------ N = 2 N = 1의 경우에다 밑에..
코드 없는 알고리즘과 데이터 구조 - 11. 스케줄링 알고리즘 (1)
·
✒️Notes/📕공부기록
코드 없는 알고리즘과 데이터 구조 (암스트롱 수베로 지음) 더보기 목차 Part 1 - 데이터 구조 Part 2 - 알고리즘 Part 3 - 알고리즘과 데이터 구조를 이해하는데 필요한 지식들 10. 무작위성 11. 스케줄링 알고리즘 📍운영체제(OS) ✅역할 - 일반적인 컴퓨터에서 CPU를 보조하는 자원은 유한하다 - 따라서 시스템에서 실행중인 여러 프로그램은 메모리와 데이터 처리 시간을 공유해야 한다 - 운영체제는 여러 프로그램이 동시에 실행될 수 있도록 추상화 메커니즘을 제공한다 ✅운영체제는 서버, 랩톱, 휴대폰뿐만 아니라, 복사기, 자동차, 주변기기 속 임베디드 시스템의 마이크로 컨트롤러에서도 실행된다 📍범용 운영체제(general-purpose operating system, GPOS) ✅일반적인 ..
RTKQ - tags, providesTags, invalidatesTags
·
✏️ Study/상태 관리
📍참고 https://redux-toolkit.js.org/rtk-query/usage/automated-refetching#definitions Automated Re-fetching | Redux Toolkit RTK Query > Usage > Automated Refetching: cache invalidation management redux-toolkit.js.org 📍Tags 정의 - re-fetching 목적으로 캐싱 및 무효화 동작을 제어하기 위해 특정 데이터 집합에 붙이는 이름 - 데이터가 mutation의 영향을 받을지 여부를 결정하기 위해 붙이는 label 개념 생성 시점 - createApi를 호출할 때 tagTypes 프로퍼티에 정의할 수 있다 - 예) createApi({ //..
코드 없는 알고리즘과 데이터 구조 - 10. 무작위성
·
✒️Notes/📕공부기록
코드 없는 알고리즘과 데이터 구조 (암스트롱 수베로 지음) 더보기 목차 Part 1 - 데이터 구조 Part 2 - 알고리즘 Part 3 - 알고리즘과 데이터 구조를 이해하는데 필요한 지식들 10. 무작위성 📍무작위성 - 식별할 수 있는 패턴 없이 예측 불가능하게 발생하는 성질 (동전을 던져 앞 or 뒤 가 나올 확률) - 사람에게 선천적으로 존재 (심리.. 충동적 행동 등) 반면 컴퓨터는 사람과 달리 항상 의도된 출력을 제공하도록 프로그래밍됨 - garbage in garbage out 프로그래밍에서는 수학의 확률 이론을 기반으로 (무작위) 난수 생성 📍하드웨어 이해하기 컴퓨터가 하드웨어적으로 난수를 생성하는 방법 뿐만 아니라 알고리즘 동작의 기반이 되는 컴퓨터 하드웨어를 이해해야 한다 트랜지스터 - ..
[Python] boolean을 int로 변환하기
·
✏️ Study/🐍 Python
📍백준 13458 https://www.acmicpc.net/problem/13458 13458번: 시험 감독첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000)www.acmicpc.net boolean을 int로 변환하여 사용할 수 있다boolean값에 int를 씌우면- true => 1- false => 0 으로 변환된다 N = int(input())data = list(map(int, input().split()))B, C = map(int, input().split())answer = len(data)f..
#27 함수형 기법과 라이브러리로 타입 흐름 유지하기
·
✏️ Study/🧽 JS & TS
이펙티브 타입스크립트 (댄 밴더캄 지음) 를 읽고 정리 📍요약 ✅명시적 타입 구문 작성의 수고로움을 덜기 위해 ES6+ 의 다양한 선언형(함수형) 내장 메서드를 사용하는 것이 좋다 (또는 lodash 같은 유틸리티 라이브러리를 사용하거나...) 📍CSV 파싱 예시 - csv 파일을 파싱하는 예제 const csvData = `번호,제목,내용 1,공지사항,끝 2,상장,대상`; const rawRows = csvData.split('\n'); const headers = rawRows[0].split(','); // 타입에러 해결을 위한 row 타입 선언 interface RowType { [key: string]: any } // 절차형 버전 // rows = header 제외한 row const rows..
getState 메서드
·
✏️ Study/상태 관리
📍store 객체를 확인해보고 싶을 때 1️⃣/store/index.ts 에서 마지막에 window.store = store 해서 전역에서 store에 접근할 수 있게 바인딩 2️⃣그리고 크롬 콘솔창에서 store.getState() 실행하면 store 객체 확인 가능 - queries - mutations 등 프로퍼티 존재 fetch 실행하는 컴포넌트 렌더링 후 store.getState() 실행하면 query 이름과 데이터 자세히 확인 가능 📍이는 Redux Devtools 로도 확인 가능!!
[RTKQ] 자동으로 HTTP 요청의 중복 제거
·
✏️ Study/상태 관리
📍참고 https://redux-toolkit.js.org/tutorials/rtk-query/#advanced-example RTK Query | Redux Toolkit redux-toolkit.js.org 📍개요 RTK Query는 같은 쿼리를 subscribe하는 모든 컴포넌트가 항상 동일한(최신화된) 데이터를 가질 수 있도록 보장한다. 또한, HTTP 요청을 자동으로 중복 제거(de-dupes)하므로, 성능 최적화를 위해 진행중인 요청을 확인하거나 할 필요가 없다. 즉, 앱에서 다른 컴포넌트들이 동일한 쿼리로 컴포넌트의 state를 fetch해도, HTTP 요청은 1번만 발생한다.