문제 요약 알고리즘 분류: 동적계획법(DP) 난이도: Medium 문제내용: 숫자로된 문자열 S가 주어진다. 1~26을 A ~ Z로 디코딩 가능하다. 문자열에서 조합 가능한 가지수를 출력해라. 단 01 ~ 09은 안된다. 사이트 주소: https://leetcode.com/problems/decode-ways/description/ 문제풀이 이번 문제에는 모든 경우의 수를 구해서 풀기가 힘들다. 모든 경우의 수를 구하기에는 시간이 많이 걸려서 시간이 최적화 되도록 풀어야한다. 그래서 이번문제는 DP로 해결할것이다. DP관련 자세한 설명은 아래 글로 확인 해보면된다. https://jih3508.tistory.com/89 [알고리즘 이론] 동적계획법(Dynamic Programming, DP) 이론 이번에..
문제 요약 알고리즘 분류: 백트레킹, DFS, 위상정렬 난이도: Medium 문제내용: 강의 수 numCourse와 prerequisites 배열을 준다. prerequisites[i]는 [a, b]가 들어 있다. b 수강 하기 위해서는 a수강을 먼저 들어아한다. 수강 들을수 있는지 참/거짓으로 반환 하여라. 사이트 주소: https://leetcode.com/problems/course-schedule/ 문제풀이 이번 문제는 깊이우선탐색, 백트레킹, 위상정렬을 활용한 문제이다. 두개에 관련 설명은 아래 글에서 확인하면 된다. 깊이우선탐색(DFS): https://jih3508.tistory.com/94 백트레킹: https://jih3508.tistory.com/84 위상 정렬: https://namu..
문제 요약 알고리즘 분류: 그리디, 수학 난이도: Medium 문제내용: 각 자리수는 0과 1만 올수 있다. 숫자 N을 주어 줬을때 0, 1만 오는10진수 조합된 숫자로 최소 몇번 더하면 되는지 구하여라. 사이트 주소: https://leetcode.com/problems/partitioning-into-minimum-number-of-deci-binary-numbers/description/ 문제풀이 이번 문제에는 그리디 문제이다. 그리디 관련 자세한 내용은 아래 글에서 참고 하면된다. https://jih3508.tistory.com/70 [알고리즘 이론] 그리디(Greedy) 이론 그리디 알고리즘은 탐욕 알고리즘이라고 부르기도 한다. 즉, 매 순간 선택할때 가장 좋은것을 선택하는 알고리즘이다. 이 ..
문제 요약 알고리즘 분류: 시뮬레이션, 이분탐색, 그래프탐색(DFS, BFS) 난이도: Medium 문제내용: heights[row][col]는 셀 (row, col)의 높이를 나타낸다. (0, 0) → (row, col)까지 도착해야 한다. 상하좌우로 이동 할때 최대 이동할수있는 높이 차이만큼 이동할 수 있다. 최소한 최대 이동할 수 있는 높이 차이만큼 구하여라 사이트 주소: https://leetcode.com/problems/path-with-minimum-effort/description/ 문제풀이 이번 문제에는 그래프 탐색과 이분탐색을 활용한 문제이다. 관련 내용은 밑에 글에서 확인 해보면 된다. 이분 탐색: https://namu.wiki/w/%EC%9D%B4%EC%A7%84%20%ED%83%..
문제 요약 알고리즘 분류: 문자열, 백트레킹 난이도: Medium 문제내용: 문자열 S가 주어지면 Palindrome 부분 문자열 목록들을 출력하라. 사이트 주소: https://leetcode.com/problems/palindrome-partitioning/description/ 문제풀이 이번 문제에는 백트레킹 관련 문제이다. 백트레킹 관련 자세한 내용은 아래 글에서 참고 하면된다. https://jih3508.tistory.com/84 [알고리즘 이론] 백트래킹(Backtracking) 이론 이번에 볼 알고리즘은 백트래킹이다. 백트래킹을 알아두면 대부분 해를 찾는데 도움이 될것이다. 백트레킹은 탐색하는 도중 중복되거나 해를 찾는 방향이 맞지 안 맞으면 그 부분을 탐색 jih3508.tistory.c..
스프링 부트 3.x.x이상 부터 초기 설정할때 gradle에서 의존 패키지 가져올때 아래 같은 문제를 직면할수 있다. A problem occurred configuring root project 'xxx'. > Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.1.9. Required by: project : > org.springframeworkrg.springframework.boot.gradle.plugin:3.1.9.boot:o > No matching variant of org.springframework.b..
문제 요약 알고리즘 분류: dp, 동적 계획법 난이도: Medium 문제내용: 정수 n이 주어지면 k개의 양의 정수의 합(k > = 2)으로 나누고 그 정수의 곱을 최대화한다. 사이트 주소: https://leetcode.com/problems/integer-break/description/ 문제풀이 이번 문제에는 모든 경우의 수를 구해서 풀기가 힘들다. 모든 경우의 수를 구하 O(N^N)개 이상으로 나올수 있다. 그래서 이번 문제는 DP로 풀어야 통과가 되는 문제이다. DP에 대한 자세한 설명은 아래글로 확인해보면 된다. https://jih3508.tistory.com/89 [알고리즘 이론] 동적계획법(Dynamic Programming, DP) 이론 이번에 볼 알고리즘은 동적계획법(Dynamic ..
이번에는 H2 데이터베이스 설치하는 방법과 간단하게 실행시키는 방법으로 알려 줄것이다. H2 데이터베이스란? 자바로 작성된 관계형 데이터베이스 관리 시스템이다. 자바 애플리케이션에 임베디드하거나 클라이언트-서버 모드에서 구동할 수 있다. H2 데이터베이스 설치하기 1. JDK 설치하기 H2 데이터베이스 Java 기반이다. 그래서 h2database 설치하기전에 Java가 설치가 안되어 있으면 Java 부터 먼저 설치해야한다. Java 설치는 아래 글을 확인 해보면된다. https://jih3508.tistory.com/129 [JAVA]JDK 설치 하기[window] 자바를 하기 위해서는 본인 pc에 java를 설치해야지 자바를 할수 있기 때문에 이번 글에는 자바 설치 하는 방법을 설명 하겠다. 1. J..
- Total
- Today
- Yesterday
- 백준
- 동적 계획법
- 힙
- 넓이 우선 탐색
- 그리디
- 백트레킹
- 이론
- Greedy
- 문자열
- 배열
- 동적계획법
- LeetCode
- JSCODE
- Programmerse
- 수학
- level2
- java
- DFS
- BFS
- 누적합
- 그래프
- 알고리즘
- 파이썬
- 재귀호출
- DP
- 자바
- 구현
- Python
- 조합
- spring-boot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |