일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그리디알고리즘
- Spring
- 너비우선탐색
- 알고리즘
- 데이터베이스
- join
- db
- springboot
- 깊이우선탐색
- mariaDB
- 탐욕법
- DP
- 백준
- Database
- 이펙티브자바
- 프로그래머스
- SQL
- Greedy
- select
- 정렬
- Effective Java
- java
- IntelliJ
- 코테
- 피보나치
- 다이나믹프로그래밍
- BFS
- 우선순위큐
- DFS
- mybatis
- Today
- Total
목록java (150)
땀두 블로그

dfs로 풀 수 있는 문제이다. 종이를 탐색하고 첫 인덱스와 값이 다른 경우 9등분하여 함수 호출하는 부분을 반복하여서 문제를 해결하였다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class p1780 { public static int[][] ary; public static boolean[][] visited; public static int cnt; public static int cnt1; public static int cnt2; public static int a; public static void..

이 문제는 아이디어가 떠오르지 않아 다른 블로그들의 답을 보고 문제를 풀었다. 그리디 알고리즘은 구현 자체는 어렵지 않았지만 아이디어를 캐치하는게 어려운 것 같다. 이 문제에서 주의할 점은 + 기호로 split할 때 \\+를 이용해야 한다는점 이외에는 크게 어렵지 않게 구현할 수 있다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class p1541 { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub BufferedReader br = new Buff..

dfs를 이용하여 푸는 문제이다. 처음 접근은 콤비네이션 연산만큼의 결과 값이 나와서 이를 이용하여 풀려고 했는데 잘못된 방법임을 깨닫고 dfs로 풀어서 시간이 오래걸렸다. dfs로 출력의 앞에 나오는 숫자를 지정해주고, depth를 높혀가면서 M과 depth가 같았을 때 저장해두던 배열의 값을 출력하도록 하였다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class p15650 { public static int a; public static int b; public static int[] ary; publi..

dp문제이다. 한 번에 3개의 계단을 연속으로 오를 수 없다는 조건이 있기 때문에 이 조건에 유념하여 문제를 풀었다. 먼저 주어진 계단의 개수가 2개 이상인 경우에는 2번째 계단 까지의 값을 기본 값으로 지정해준다. 그 이후에는 두 가지 경우의 수가 있다. 첫 째는 2칸 전에서 올라오는 경우이고, 하나는 한 칸 전에서 올라오고 그 전은 두 칸을 점프한 경우이다. 이것 두 가지 값 중 큰 값을 저장해서 출력해주는 재귀함수를 작성하여 문제를 해결할 수 있다. 이 문제에서 메모이제이션이라는 기법을 사용하였는데, 작은 값들의 값을 특정 배열에 메모해두고 그 값을 이용하는 문제이다. 이 문제의 제약조건인 한 번에 3칸을 연속으로 밟지 못한다는 조건을 유념하여 메모를 할 배열에 값을 지정해나가면 해결할 수 있는 문..

대표사진 삭제 사진 편집 작게작게문서 너비문서 너비옆트임옆트임 삭제삭제 사진 설명을 입력하세요. 옷을 조합하는 문제이다. 맵에 입력된 값 중 종류에 해당하는 뒷부분을 key로 하여 값을 넣고, 만약 이미 키가 존재하는 경우 키의 값을 1 더해준다. 이후 각각 종류마다 옷을 고르지 않을 경우를 포함하기 위해 1을 더해주고 각각의 값들을 더해준다. 마지막으로 모든 옷을 입지 않는 경우를 제외해주기 위해 1을 빼주어 문제를 해결하였다. 컨디션문제인지 쉬운문제인데 쉽게 해결 방법이 떠오르지 않았던것 같다. 더 많은 문제를 경험하여 쉬운 문제들은 빠른시간내에 풀 수 있도록 해야겠다. import java.io.BufferedReader; import java.io.IOException; import java.io..