From f3037dc33f12febc5f008e25e340f11d393860f5 Mon Sep 17 00:00:00 2001 From: Yoo Byeong gue <106210750+Gyulguma@users.noreply.github.com> Date: Wed, 9 Apr 2025 17:51:49 +0900 Subject: [PATCH 1/6] =?UTF-8?q?[Baekjoon-7682]=20=ED=8B=B1=ED=83=9D?= =?UTF-8?q?=ED=86=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\355\213\261\355\203\235\355\206\240.java" | 146 ++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 "\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-7682] \355\213\261\355\203\235\355\206\240.java" diff --git "a/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-7682] \355\213\261\355\203\235\355\206\240.java" "b/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-7682] \355\213\261\355\203\235\355\206\240.java" new file mode 100644 index 00000000..1b7df53b --- /dev/null +++ "b/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-7682] \355\213\261\355\203\235\355\206\240.java" @@ -0,0 +1,146 @@ +import java.io.*; +import java.util.*; + +public class Main { + private static final String VALID = "valid"; + private static final String INVALID = "invalid"; + private static char[][] map; + private static List xs = new ArrayList<>(); + private static List os = new ArrayList<>(); + private static boolean[] xvisited; + private static boolean[] ovisited; + private static char[][] testMap; + private static int[][] d = {{0,1},{1,1},{1,0},{1,-1},{0,-1}}; + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + StringBuilder sb = new StringBuilder(); + while(true) { + String input = br.readLine(); + if(input.equals("end")) { + System.out.println(sb.toString().trim()); + return; + } + + map = new char[3][3]; + xs.clear(); + os.clear(); + for(int i=0; i<3; i++) { + for(int j=0; j<3; j++) { + map[i][j] = input.charAt(i*3 + j); + if(map[i][j] == 'X') xs.add(new int[] {i,j}); + else if(map[i][j] == 'O') os.add(new int[] {i,j}); + } + } + + //case 1: O의 개수가 X보다 많은 경우 불가능 + //case 2: X의 개수가 O보다 2개 이상 많은 경우 불가능 + if(xs.size() < os.size() || xs.size()-os.size() > 1) { + sb.append(INVALID).append("\n"); + continue; + } + //case 3: 꽉 안 찼는데 안 끝난 경우 불가능 + if(xs.size()+os.size() < 9 && !done(map, xs.size())) { + sb.append(INVALID).append("\n"); + continue; + } + + //case 4: 꽉 찼는데 안 끝난 경우 가능 + if(!done(map, xs.size())) { + sb.append(VALID).append("\n"); + continue; + } + + //case 5: 꽉 안 찼는데 끝난 경우 직접 시뮬 + //case 6: 꽉 찼는데 끝난 경우 직접 시뮬 + xvisited = new boolean[xs.size()]; + ovisited = new boolean[os.size()]; + testMap = new char[3][3]; + boolean isDone = false; + for(int i=0; i=0 && nx<3 && ny>=0 && ny<3) { + if(map[nx][ny] == target) count++; + nx = nx + d[i][0]; + ny = ny + d[i][1]; + } + + if(count == 3) return true; + } + + return false; + } +} From 8d39f4eb93b201365bf774f9caa6d3c4f73ac40d Mon Sep 17 00:00:00 2001 From: Yoo Byeong gue <106210750+Gyulguma@users.noreply.github.com> Date: Wed, 9 Apr 2025 17:52:19 +0900 Subject: [PATCH 2/6] =?UTF-8?q?[Baekjoon-1405]=20=EB=AF=B8=EC=B9=9C=20?= =?UTF-8?q?=EB=A1=9C=EB=B4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...354\271\234 \353\241\234\353\264\207.java" | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 "\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-1405] \353\257\270\354\271\234 \353\241\234\353\264\207.java" diff --git "a/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-1405] \353\257\270\354\271\234 \353\241\234\353\264\207.java" "b/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-1405] \353\257\270\354\271\234 \353\241\234\353\264\207.java" new file mode 100644 index 00000000..029c7779 --- /dev/null +++ "b/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-1405] \353\257\270\354\271\234 \353\241\234\353\264\207.java" @@ -0,0 +1,53 @@ +import java.io.*; +import java.util.*; +import java.math.BigDecimal; + +public class Main { + private static boolean[][] visited; + private static int n; + private static double[] percent; + private static int[][] d = {{0,1},{0,-1},{1,0},{-1,0}}; + private static double total; + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + StringTokenizer st = new StringTokenizer(br.readLine()); + + n = Integer.parseInt(st.nextToken()); + percent = new double[4]; + for(int i=0; i<4; i++) { + percent[i] = Integer.parseInt(st.nextToken()) / 100.0; + } + + if(n == 1) { + System.out.println(1.0); + return; + } + + visited = new boolean[2*n+1][2*n+1]; + visited[n][n] = true; + dfs(1, n, n, 0, ""); + + BigDecimal bd = new BigDecimal(Double.toString(total)); + System.out.println(bd.toPlainString()); + } + private static String[] p = {"E","W","S","N"}; + private static void dfs(double current, int x, int y, int dept, String path) { + if(dept == n) { + total += current; + return; + } + + for(int i=0; i Date: Wed, 9 Apr 2025 17:52:44 +0900 Subject: [PATCH 3/6] =?UTF-8?q?[Baekjoon-3079]=20=EC=9E=85=EA=B5=AD?= =?UTF-8?q?=EC=8B=AC=EC=82=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\352\265\255\354\213\254\354\202\254.java" | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 "\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-3079] \354\236\205\352\265\255\354\213\254\354\202\254.java" diff --git "a/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-3079] \354\236\205\352\265\255\354\213\254\354\202\254.java" "b/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-3079] \354\236\205\352\265\255\354\213\254\354\202\254.java" new file mode 100644 index 00000000..76e6cb91 --- /dev/null +++ "b/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-3079] \354\236\205\352\265\255\354\213\254\354\202\254.java" @@ -0,0 +1,50 @@ +import java.io.*; +import java.util.*; + +public class Main { + private static long[] process; + private static long result; + private static long m; + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + StringTokenizer st = new StringTokenizer(br.readLine()); + long n = Long.parseLong(st.nextToken()); + m = Long.parseLong(st.nextToken()); + + process = new long[(int) n]; + long max = 0; + for(int i=0; i= m) { + result = Math.min(result, mid); + right = mid-1; + continue; + } + left = mid+1; + } + + System.out.println(result); + } + + private static long counting(long mid) { + long count = 0; + for(int i=0; i m) break; + count += mid/process[i]; + } + + return count; + } +} From 61a3a3a8e07f49d286824e21e49536fa077dcea2 Mon Sep 17 00:00:00 2001 From: Yoo Byeong gue <106210750+Gyulguma@users.noreply.github.com> Date: Wed, 9 Apr 2025 17:53:13 +0900 Subject: [PATCH 4/6] =?UTF-8?q?[Baekjoon-21278]=20=ED=98=B8=EC=84=9D?= =?UTF-8?q?=EC=9D=B4=20=EB=91=90=20=EB=A7=88=EB=A6=AC=20=EC=B9=98=ED=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...353\246\254 \354\271\230\355\202\250.java" | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 "\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-21278] \355\230\270\354\204\235\354\235\264 \353\221\220 \353\247\210\353\246\254 \354\271\230\355\202\250.java" diff --git "a/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-21278] \355\230\270\354\204\235\354\235\264 \353\221\220 \353\247\210\353\246\254 \354\271\230\355\202\250.java" "b/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-21278] \355\230\270\354\204\235\354\235\264 \353\221\220 \353\247\210\353\246\254 \354\271\230\355\202\250.java" new file mode 100644 index 00000000..69155b3d --- /dev/null +++ "b/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-21278] \355\230\270\354\204\235\354\235\264 \353\221\220 \353\247\210\353\246\254 \354\271\230\355\202\250.java" @@ -0,0 +1,67 @@ +import java.io.*; +import java.util.*; + +public class Main { + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + StringTokenizer st = new StringTokenizer(br.readLine()); + int n = Integer.parseInt(st.nextToken()); + int m = Integer.parseInt(st.nextToken()); + + //1. dist 배열 준비 + //1-1. dist 배열 최댓값으로 초기화 + int[][] dist = new int[n][n]; + for(int i=0; i Date: Wed, 9 Apr 2025 17:53:39 +0900 Subject: [PATCH 5/6] =?UTF-8?q?[Baekjoon-2629]=20=EC=96=91=ED=8C=94?= =?UTF-8?q?=EC=A0=80=EC=9A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\355\214\224\354\240\200\354\232\270.java" | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 "\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-2629] \354\226\221\355\214\224\354\240\200\354\232\270.java" diff --git "a/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-2629] \354\226\221\355\214\224\354\240\200\354\232\270.java" "b/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-2629] \354\226\221\355\214\224\354\240\200\354\232\270.java" new file mode 100644 index 00000000..c7730f63 --- /dev/null +++ "b/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-2629] \354\226\221\355\214\224\354\240\200\354\232\270.java" @@ -0,0 +1,45 @@ +import java.io.*; +import java.util.*; + +public class Main { + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + int n = Integer.parseInt(br.readLine()); + int[] chu = new int[n+1]; + StringTokenizer st = new StringTokenizer(br.readLine()); + int total = 0; + for(int i=1; i<=n; i++) { + chu[i] = Integer.parseInt(st.nextToken()); + total += chu[i]; + } + + int[][] dp = new int[n+1][total+1]; + //1번 추 추가 + dp[1][chu[1]] = 1; + + //2번 추부터 ~ n번까지 추가 + for(int i=2; i<=n; i++) { + for(int j=0; j<=total; j++) { + if(dp[i-1][j] == 0) continue; + dp[i][j] = dp[i-1][j]; + dp[i][j+chu[i]]++; + dp[i][Math.abs(j-chu[i])]++; + } + dp[i][chu[i]]++; + } + + + int m = Integer.parseInt(br.readLine()); + st = new StringTokenizer(br.readLine()); + StringBuilder sb = new StringBuilder(); + for(int i=0; i 0) sb.append("Y "); + else sb.append("N "); + } + + System.out.println(sb.toString().trim()); + } +} From 9c0f824613bdce47c28e79834ddeaa66b329ac07 Mon Sep 17 00:00:00 2001 From: Yoo Byeong gue <106210750+Gyulguma@users.noreply.github.com> Date: Sat, 12 Apr 2025 21:50:44 +0900 Subject: [PATCH 6/6] =?UTF-8?q?[Baekjoon-1327]=20=EC=86=8C=ED=8A=B8=20?= =?UTF-8?q?=EA=B2=8C=EC=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...355\212\270 \352\262\214\354\236\204.java" | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 "\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-1327] \354\206\214\355\212\270 \352\262\214\354\236\204.java" diff --git "a/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-1327] \354\206\214\355\212\270 \352\262\214\354\236\204.java" "b/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-1327] \354\206\214\355\212\270 \352\262\214\354\236\204.java" new file mode 100644 index 00000000..268c02d7 --- /dev/null +++ "b/\354\234\240\353\263\221\352\267\234_12\354\243\274\354\260\250/[BOJ-1327] \354\206\214\355\212\270 \352\262\214\354\236\204.java" @@ -0,0 +1,88 @@ +import java.io.*; +import java.util.*; + +public class Main { + private static int n, k; + private static Set set; + private static int result; + private static String goal; + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + StringTokenizer st = new StringTokenizer(br.readLine()); + n = Integer.parseInt(st.nextToken()); + k = Integer.parseInt(st.nextToken()); + + int[] number = new int[n]; + int[] temp = new int[n]; + st = new StringTokenizer(br.readLine()); + for(int i=0; i(); + set.add(Arrays.toString(number)); + + result = Integer.MAX_VALUE; + bfs(number); + + if(result == Integer.MAX_VALUE) System.out.println(-1); + else System.out.println(result); + } + + private static void bfs(int[] arr) { + Queue q = new LinkedList<>(); + q.offer(new Node(arr, 0)); + set.add(Arrays.toString(arr)); + + while(!q.isEmpty()) { + Node node = q.poll(); + + if(node.count > result) continue; + if(goal.equals(node.toString())) { + result = node.count; + continue; + } + + for(int i=0; i+k-1