문제 링크 : 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://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://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://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://www.acmicpc.net/problem/30106🍊해결방법모든 점에서 로봇 청소기를 출발한다방문배열을 활용하여 이미 방문한 곳은 청소가 된 곳이므로 cotinue청소 시작할 때 부터 cnt++마지막으로 cnt 출력😀풀이import java.util.*;import java.io.*;public class Main { static int N; static int M; static int K; static int[][] arr; static boolean[][] visit; static int[] dx = {-1, +1, 0, 0}; static int[] dy = {0, 0, -1, +1}; public static void m..
문제 링크 : https://www.acmicpc.net/problem/30625🍊해결방법호영이가 출 수 있는 춤의 가지수도 M가지우진이가 춤 방향이 0일때 즉 앞일 때 2가지 경우같은 춤 종류로 춰야한다한번은 틀리게 다른 종류 춤으로 춘다우진이가 춤 방향이 1일때 즉 뒤일 때 2가지 경우우진이의 춤 종류와 다른 춤을 춘다한번은 틀리게 우진이와 같은 종류의 춤을 춘다문제의 조건에서 무조건 1번 틀리는것만 인정해주므로 2번 이상부터는 return중복되는 경우가 있으므로 dp를 활용해 저장😀풀이import java.util.*;import java.io.*;public class Main { static int MOD = 1000000007; static int N; static int..
문제 링크 : https://www.acmicpc.net/problem/31784🍊해결방법앞에서부터 자물쇠를 한번씩 계속 돌리면서 K번 안에 자기보다 작은 수가 나오는지 확인나보다 작은 경우가 나왔을 때 cnt를 확인cnt가 26보다 크다면 한바퀴 돌린거므로 나보다 작은 경우므로 break!!cnt가 K 범위안에서 돌릴 수 있는지 확인K 범위 안에 돌릴 수 있다면 문자를 바꾸고 cnt만큼 횟수 차감마지막에 K가 0이 아니면 더 돌리는게 가능하므로 마지막 문자만 남은 횟수만큼 돌리기 😀풀이import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException{ ..
문제 링크 : https://www.acmicpc.net/problem/31785🍊해결방법시간복잡도가 최대 O(2Q) 라서 그냥 구현을 편하게 해도 된다투포인터를 할 수도 있는데 이건 다음에 해봐야겠다대략 느낌적으로는 누적합을 가지고 하면 될거 같은데..😀풀이import java.util.*;import java.io.*;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); // 반으로 나누어서 합이 작은 부분 다 삭제 후 원소합 출력 // ..
- Total
- Today
- Yesterday
- 슬라이딩윈도우
- 투포인터
- 스프링부트3 자바 17 오류
- 오블완
- 백준
- 조합
- 이진탐색
- 바텀업
- 위상정렬
- sql
- 유니온파인드
- 티스토리챌린지
- 구현
- 스프링부트3 자바 버전
- dp
- 스프링부트3 java 버전오류
- 백준 14890
- 1482
- 백준 경사로
- leetcode 1552
- 탑다운dp
- #스프링부트 자바버전 오류
- 스프링부트3
- 누적합
- BFS
- 백준 14890 자바
- 백준 14890 경사로
- 탑다운
- 백준 경사로 자바
- 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 |