일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Python
- BFS
- 동적 계획법
- TypeScript
- Database
- 프로그래머스
- VIM
- CS
- frontend
- 안드로이드
- Redux
- Graph
- git
- DP
- 자바
- 그레이들
- vscode
- Algorithm
- LeetCode
- 리트코드
- Data Structure
- Javascript
- db
- network
- java
- react
- DFS
- 백준
- 알고리즘
- 다이나믹 프로그래밍
- Today
- Total
목록java (11)
늘 겸손하게
플로이드 워셜 알고리즘 그래프가 주어졌을 때 모든 정점에서 모든 정점으로의 최단 경로를 구하는 알고리즘입니다. 한 점에서 다른 정점으로의 모든 최단 경로를 구하는 다익스트라 알고리즘은 음의 가중치를 사용하지 못하지만 플로이드 워셜 알고리즘은 음의 가중치를 가진 그래프도 계산 가능합니다. 플로이드 워셜 알고리즘 과정 1. 그래프를 2차원 배열로 나타내고 i행 j열에 i번 정점에서 j번 정점으로 가는 가중치를 저장합니다. 2. i 행 i 열 값은 0으로 저장하고, i번 정점에서 j번 정점으로 갈 수 없는 경우 INF (매우 큰 수)를 저장합니다. 3. k를 중간점으로 삼고, i번 정점에서 j번 정점으로 가는 가중치보다 정점 i -> 정점 k , 정점 k -> 정점 j로 가는 정점의 가중치가 작다면 i행 j열..
wrote by : besforyou 문제 해설 n이 주어지고, 위 피보나치 함수를 실행했을때 0과 1이 반환되는 횟수를 출력하는 문제입니다. 단순히 위 함수를 실행해서 반환되는 0과 1의 횟수를 직접 구하는 알고리즘은 시간 초과가 뜹니다. 그래서 dp를 적용하여 문제를 해결해야합니다. 문제풀이 fibonacci(0)은 0을 1번, 1을 0번 반환하고 ---- (a) fibonacci(1)은 0을 0번, 1을 1번 반환합니다. ---- (b) fibonacci(2)는 fibonacci(1) + fibonacci(0)을 반환합니다. 그러므로 0을 1번, 1을 1번 반환합니다. ( a + b ) 위를 통해서, n이 주어졌을때 0과 1이 반환되는 횟수는 함수에 n-1이 주어졌을때 반환한 0과 1의 개수와 함수..
안녕하세요 besforyou 입니다 2021 KAKAO BLIND RECRUITMENT > 신규 아이디 추천 문제 해설입니다 문제 풀이 주어진 단계별로 문자열을 변형하면 되는 문제입니다. 1 단계 String의 메소드인 toLowerCase()로 문자열 속 대문자들을 모두 소문자로 바꿉니다. 1 2 // Step 1 answer = new_id.toLowerCase(); cs 2 단계 순차탐색으로 모든 문자를 읽어들여서 알파벳 소문자, 숫자, 빼기, 밑줄, 마침표를 제외한 모든 문자를 제거합니다. 문자가 숫자인지는 Character.isDigit() 메소드로 알 수 있습니다. 1 2 3 4 5 6 7 8 // Step 2 for (int i = 0 ; i = 'a' && c
안녕하세요 besforyou입니다 ArrayList를 정렬시키는 방법에 대해 소개하겠습니다. Collections.sort() 를 이용합니다. 1. 오름차순 정렬 Collections.sort() 메소드의 인자로 ArrayList를 전달합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 import java.util.ArrayList; import java.util.Collections; public class ArrayListSort { public static void main(String [] args) { ArrayList arr = new ArrayList(); arr.add(10); arr.add(100); arr.add(1); arr..