일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DFS
- DP
- TypeScript
- react
- Javascript
- 프로그래머스
- 그레이들
- frontend
- 백준
- 리트코드
- 자바
- db
- git
- Algorithm
- 다이나믹 프로그래밍
- Database
- Data Structure
- 알고리즘
- vscode
- network
- 안드로이드
- java
- BFS
- Python
- Graph
- LeetCode
- VIM
- CS
- Redux
- 동적 계획법
- Today
- Total
목록전체 글 (390)
늘 겸손하게

목차 Github pages 생성 방법 마무리 Github pages Github-pages는 정적 사이트 호스팅 서비스로 HTML, CSS, JavaScript 파일을 깃허브 레포지토리에서 바로 가져와 빌드 과정을 거치고 웹 사이트를 배포하는 서비스이다. 개발한 프로젝트를 누구나 접속해서 볼 수 있도록 호스팅 서비스를 제공한다. 생성 방법 1. 레포지토리에 pages 생성 배포하려는 프로젝트 레포지토리 상단 우측에 settings 클릭 settings -> pages 우선 main 브랜치로 설정 후 'save' 클릭 새로고침하면 사이트가 배포된 주소가 나옵니다. 사이트를 배포하였으나 프로젝트와 연동되어 있지 않아 404에러가 뜨거나 Readme 파일이 출력됩니다. 2. 프로젝트와 연동 React 프로젝..

목차 React에 Redux 설치 1. 프로젝트에 Redux Toolkit과 React Redux를 설치 2. React Store 생성 3. React에 Redux Store를 제공 4. Redux State Slice 생성 5. Store에 slice reducer 담기 6. React 컴포넌트 내부에서 Redux State, Action 사용하기 마무리 React에 Redux 설치 React를 활용한 토이 프로젝트를 개발하다 Redux를 설치할 일이 생겼다. Redux를 설치하고 초기 설정을 해보자. 출처 : https://react-redux.js.org/tutorials/quick-start Quick Start | React Redux react-redux.js.org 1. 프로젝트에 Redu..

자바 진법 변환 자바에서 10진수를 N진수로, N진수를 10진수로 변환하는 방법은 매우 간단하다. 10진수를 N진수 -> Integer.toString( '숫자', N ) N진수를 10진수 -> Integer.parseInt( 'N진수 숫자', N) 10 진수 -> N 진수 Integer.toString( '숫자', N ) public class Main { public static void main(String[] args) { int number = 24; for (int N = 2; N 10 진수 Integer.parseInt( '숫자', 숫자의 진수 N) 위 코드에서 만들어진 숫자들을 다시 10진수로 변환 public class Main { public static void main(String[..

목차 문제명 문제풀이 코드 백준 2565 전깃줄 문제 유형 : LIS (Longest Increasing Subsequence, 최장 증가 부분 수열) 난이도 : 골드 5 https://www.acmicpc.net/problem/2565 2565번: 전깃줄 첫째 줄에는 두 전봇대 사이의 전깃줄의 개수가 주어진다. 전깃줄의 개수는 100 이하의 자연수이다. 둘째 줄부터 한 줄에 하나씩 전깃줄이 A전봇대와 연결되는 위치의 번호와 B전봇대와 연결되는 www.acmicpc.net 문제 두 전봇대 A와 B 사이에 하나 둘씩 전깃줄을 추가하다 보니 전깃줄이 서로 교차하는 경우가 발생하였다. 합선의 위험이 있어 이들 중 몇 개의 전깃줄을 없애 전깃줄이 교차하지 않도록 만들려고 한다. 예를 들어, 과 같..
유클리드 호제법 ( Euclidean algorithm ) 두 정수 A, B의 최대공약수를 구하는 알고리즘입니다. 원리 두 정수 a, b가 주어졌을때, a를 b로 나눈 나머지를 r이라고 하자. a, b의 최대공약수를 (a, b)라고 하면, 다음이 성립한다. (a, b) = (b, r) ex) (1071, 1029) = (1029, 42) = (42, 21) = (21, 0) = 21 코드 public int gcd(int p, int q) { if (q == 0) return p; return gcd(q, p % q); } 팁 : 큰 숫자를 첫 번째 인자로 주어야 불필요한 재귀 1번을 아낄 수 있다.
버블 정렬 배열 정렬 알고리즘으로 거품이 수면 위로 올라오듯이 배열을 정렬한다 해서 버블 정렬이라는 이름이 붙여졌다. 버블 정렬 구현 길이가 n인 배열이 주어졌을때 오름차순으로 정렬하려면 1. 인덱스 0번 요소와 바로 오른쪽 요소값을 비교하여 0번 요소가 더 크면 두 값을 교환(swap) 2. 인덱스 1, 2, 3, ... n - 2번 요소에 대해 1번 과정 반복하면 배열의 최대값이 마지막에 배치된다. 3. 인덱스 1, 2, 3, ..., n - 3번 요소로 위 과정 반복 4. 인덱스 1, 2, 3, ..., n - 4번 요소로 위 과정 반복 5. 오름차순으로 정렬됨. 코드 public static void main(String[] args) { int [] arr = {9, 4, 6, 1, 14, 5}..
플로이드 워셜 알고리즘 그래프가 주어졌을 때 모든 정점에서 모든 정점으로의 최단 경로를 구하는 알고리즘입니다. 한 점에서 다른 정점으로의 모든 최단 경로를 구하는 다익스트라 알고리즘은 음의 가중치를 사용하지 못하지만 플로이드 워셜 알고리즘은 음의 가중치를 가진 그래프도 계산 가능합니다. 플로이드 워셜 알고리즘 과정 1. 그래프를 2차원 배열로 나타내고 i행 j열에 i번 정점에서 j번 정점으로 가는 가중치를 저장합니다. 2. i 행 i 열 값은 0으로 저장하고, i번 정점에서 j번 정점으로 갈 수 없는 경우 INF (매우 큰 수)를 저장합니다. 3. k를 중간점으로 삼고, i번 정점에서 j번 정점으로 가는 가중치보다 정점 i -> 정점 k , 정점 k -> 정점 j로 가는 정점의 가중치가 작다면 i행 j열..
자바스크립트에서 객체는 속성의 집합이며 속성은 키와 값으로 구성된다. const person = { name: 'Jack', age: 25, } 속성 키로 사용할 수 있는 값은 '빈 문자열을 포함하는 모든 문자열 또는 심벌 값'이고 속성 값으로 사용할 수 있는 값은 '자바스크립트에서 사용할 수 있는 모든 값' 이다. 속성 키 속성 키는 일반적으로 문자열을 사용하고 따옴표로 묶을 필요는 없으나 식별자 네이밍 규칙을 따르지 않는다면 따옴표로 감싸야 한다. const person = { firstName: 'Jack', 'last-name': 'Lee', } 빈 문자열 또한 속성의 키가 될 수 있으나 키로서 의미가 없으므로 권장하지 않는다. const foo = { '': '' }; console.log(fo..