문제 링크 : https://www.acmicpc.net/problem/2239🍊해결방법0 빈칸에 1~9 숫자를 넣어서 스도쿠 완성미리 해당 칸에서 가로, 세로, box에 들어갈 후보군들을 관리하자box는 총 9구역으로 (x, y) 좌표에서 (x/3)*3 + y/3 을 하면 해당 좌표가 몇번째 box인지 안다사전순으로 빠른 것을 출력해야하므로 1 ~ 9 까지 차례대로 넣고 완성되는 순간 flag로 관리😀풀이import java.util.*;import java.io.*;public class Main { static List list; static int[][] arr; static boolean[][] row; static boolean[][] col; static boo..
문제 링크 : https://leetcode.com/problems/check-if-a-word-occurs-as-a-prefix-of-any-word-in-a-sentence/description/🍊해결방법주어진 sentence의 단어들의 접두사가 searchWord로 시작하면 해당 단어 순서를 출력😀풀이class Solution { public int isPrefixOfWord(String sentence, String searchWord) { String[] arr = sentence.split(" "); char[] word = searchWord.toCharArray(); int ans = -1; o :for(int i=0..
문제 링크 : https://www.acmicpc.net/problem/14281🍊해결방법블록수열 조건 arr[i-1] + arr[i+1] >= 2 * arr[i] 만족arr[i]는 최소 (arr[i-1] + arr[i+1]) / 2 값을 만족해야함while문을 하면서 arr[i] 값을 조건에 만족하게 조절하자flag 하나 사용해서 해당 flag가 true이면 조건 만족 그 때 cnt 출력😀풀이import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputS..
문제 링크 : https://leetcode.com/problems/maximum-matrix-sum/description/🍊해결방법인접한 두개의 구역(행 or 열)을 정해서 -1을 곱하여 수를 변경하고 행렬 전체의 최대값을 구하여라음수의 개수가 짝수개면 최종적으로 음수의 개수가 없다음수의 개수가 홀수라면 마지막 1개만 음수가 남는다행렬을 탐색하면서 절대값을 sum에 더하고, 최솟값을 갱신한다음수의 개수가 홀수개면 최솟값이 음수가 되면 되므로 sum에서 빼준다😀풀이import java.util.*;class Solution { public long maxMatrixSum(int[][] matrix) { // 음수인 수의 개수를 관리하자 // 결국은 음수개수가 짝수개면 상..
문제 링크 : https://www.acmicpc.net/problem/2023🍊해결방법메모리가 4MB로 에라토스테네스의 체 사용 불가자리수에 있는 수를 하나씩 모두 보면서 각각의 수를 신기한 소수인지 판별하기엔 시간초과모든 수를 과연 다 볼 필요가 있을까?예를들어 2400에서 24를 보는 순간 소수가 아니므로 2400번대는 볼 필요가 없다 2500대로 넘어가자이런 식으로 구현해서 해결😀풀이import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStr..
문제 링크 : https://www.acmicpc.net/problem/12435🍊해결방법1번째소수일 경우 1과 자기자신만 약수이므로 남동생 수 0 이므로 먼저 소수처리소수가 아닐경우 1과 자기자신을 뺀 약수의 개수 구하고 가장 작은 수 arr 저장map에다가 약수의개수를 key 값으로 하고 그때의 수를 list형태로 집어넣자테스트 케이스 별로 N의 개수를 가지는 숫자 리스트를 뽑고N의 idx를 이진탐색으로 찾고 idx까지 돌면서 arr 에서 조건에 맞을 때 present++2번째미리 2부터 1000000까지 차례대로 배수를 1개씩 더하면서 저장하자예를들어 2일때 4, 6, 8, 10 ...... 은 2의 배수이므로 +1이때 가장작은 막내값도 arr에 함께 저장테스트케이스 별 N보다 작을때 조건을 만족..
문제 링크 : https://leetcode.com/problems/count-unguarded-cells-in-the-grid/description/🍊해결방법guard는 4방향으로 쭈욱 움직일 수 있는데 벽을 만나면 그만 움직인다맵에서 guard가 움직이지 않은 구역은 몇개인가guard와 wall을 미리 맵에 -1로 표기해둔다guard를 하나씩 보면서 4방향으로 움직이는 대신 벽을 만나거나 이미 guard인 구간이면 break마지막으로 맵 돌면서 0인 부분 cnt++😀풀이import java.util.*;class Solution { static int[] dx = {-1, +1, 0 ,0}; static int[] dy = {0, 0, -1, +1}; public int count..
문제 링크 : https://www.acmicpc.net/problem/13023🍊해결방법N개에 상관없이 A B C D E 이렇게 5명의 친구 만족하면 된다방문배열을 사용할 때 FALSE 처리를 해야 모든 경우의 수를 확인 가능😀풀이import java.util.*;import java.io.*;public class Main { static int N; static int M; static List[] list; static boolean[] visit; static int flag; public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReade..
문제 링크 : https://www.acmicpc.net/problem/27973🍊해결방법제일 작은 수만 신경 쓰면 된다left = 1로 젤 작은 수 시작문제에서 주어지는 연산을 모와뒀다가 한번에 해주자더하기와 곱하기 변수를 이용해 최종 결과값을 저장하자곱하기를 할때에도 더하기 변수를 곱해줘야 한다!!제거할 때는 left를 해당 수 만큼 더해줘서 몇번째 수 인지 갱신하자마지막에 left에 곱하기 최종을 먼저 곱하고 더하기 최종을 더해주자😀풀이import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = ne..
문제 링크 : https://leetcode.com/problems/take-k-of-each-character-from-left-and-right/description/🍊해결방법왼쪽부터 선택하고 오른쪽부터 선택해서 a, b, c가 각각 k개 만큼 되도록하는 최솟값은?총 3개의 그룹으로 나눠지게 된다. 왼쪽 / 가운데 / 오른쪽가운데 그룹의 크기에 따라 정답이 결정된다슬라이딩 윈도우를 가운데 그룹 크기에 사용하자가운데 범위에 들어갈 때마다 각각의 a b c 맞는 전체 개수를 마이너스 해주자만약 a b c의 개수가 k개 보다 작아지면 그 때는 가운데 범위를 줄여야 하므로 left부터 줄이자현재 left의 단어 개수++ 해주고 left++ 옮기기a b c 가 k개 이상일 때 까지 진행전체개수 N - 가운데..
- Total
- Today
- Yesterday
- 백준 14890 자바
- 백준 14890
- 스프링부트3 자바 버전
- BFS
- 스프링부트3
- 스프링부트3 java 버전오류
- 티스토리챌린지
- leetcode 1552
- dp
- 바텀업
- 백준 경사로
- 스프링부트3 자바 17 오류
- sql
- 이진탐색
- 유니온파인드
- 백준
- 백준 경사로 자바
- 슬라이딩윈도우
- #스프링부트 자바버전 오류
- 탑다운dp
- 투포인터
- 백준 14890 경사로
- 탑다운
- 위상정렬
- 누적합
- 구현
- 조합
- 1482
- 오블완
- dfs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |