From 1f49f0f96e71ac0c7c47205b1e1a208b62c3638f Mon Sep 17 00:00:00 2001 From: zinnnn37 Date: Sat, 20 Sep 2025 21:52:03 +0900 Subject: [PATCH 1/3] =?UTF-8?q?[20250920]=20BOJ=20/=20G4=20/=20=EC=B2=B4?= =?UTF-8?q?=EC=8A=A4=ED=8C=90=20=EB=8B=A4=EC=8B=9C=20=EC=B9=A0=ED=95=98?= =?UTF-8?q?=EA=B8=B0=202=20/=20=EA=B9=80=EB=AF=BC=EC=A7=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\354\271\240\355\225\230\352\270\260 2.md" | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 "zinnnn37/202509/20 BOJ G4 \354\262\264\354\212\244\355\214\220 \353\213\244\354\213\234 \354\271\240\355\225\230\352\270\260 2.md" diff --git "a/zinnnn37/202509/20 BOJ G4 \354\262\264\354\212\244\355\214\220 \353\213\244\354\213\234 \354\271\240\355\225\230\352\270\260 2.md" "b/zinnnn37/202509/20 BOJ G4 \354\262\264\354\212\244\355\214\220 \353\213\244\354\213\234 \354\271\240\355\225\230\352\270\260 2.md" new file mode 100644 index 00000000..1acb797d --- /dev/null +++ "b/zinnnn37/202509/20 BOJ G4 \354\262\264\354\212\244\355\214\220 \353\213\244\354\213\234 \354\271\240\355\225\230\352\270\260 2.md" @@ -0,0 +1,79 @@ +```java +package etc; + +import java.io.*; +import java.util.StringTokenizer; + +public class BJ_25682_체스판_다시_칠하기_2 { + + private static final boolean BLACK = true; + private static final boolean WHITE = false; + + private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + private static StringTokenizer st; + + private static int N, M, K; + + private static boolean[][] board; + private static int[][] prefix; + + public static void main(String[] args) throws IOException { + init(); + sol(); + } + + private static void init() throws IOException { + st = new StringTokenizer(br.readLine()); + N = Integer.parseInt(st.nextToken()); + M = Integer.parseInt(st.nextToken()); + K = Integer.parseInt(st.nextToken()); + + board = new boolean[N + 1][M + 1]; + prefix = new int[N + 1][M + 1]; + + for (int i = 1; i <= N; i++) { + String s = br.readLine(); + for (int j = 1; j <= M; j++) { + board[i][j] = s.charAt(j - 1) == 'B' ? BLACK : WHITE; + } + } + } + + private static void sol() throws IOException { + bw.write(Math.min(setPrefix(BLACK), setPrefix(WHITE)) + "\n"); + bw.flush(); + bw.close(); + br.close(); + } + + // 열 + 행이 짝수일 때 color라고 가정 + private static int setPrefix(boolean color) { + int val; + + for (int i = 1; i <= N; i++) { + for (int j = 1; j <= M; j++) { + if ((i + j) % 2 == 0) { + val = board[i][j] != color ? 1 : 0; + } else { + val = board[i][j] == color ? 1 : 0; + } + prefix[i][j] = prefix[i][j - 1] + prefix[i - 1][j] - prefix[i - 1][j - 1] + val; + } + } + return getMinPrefix(); + } + + private static int getMinPrefix() { + int cnt = Integer.MAX_VALUE; + + for (int i = K; i <= N; i++) { + for (int j = K; j <= M; j++) { + cnt = Math.min(cnt, prefix[i][j] - prefix[i - K][j] - prefix[i][j - K] + prefix[i - K][j - K]); + } + } + return cnt; + } + +} +``` \ No newline at end of file From eb13c192e0a27b88cd381b865908b524cb16c531 Mon Sep 17 00:00:00 2001 From: zinnnn37 Date: Sun, 21 Sep 2025 20:50:52 +0900 Subject: [PATCH 2/3] =?UTF-8?q?[20250921]=20BOJ=20/=20G5=20/=20=EC=95=A0?= =?UTF-8?q?=EB=84=88=EA=B7=B8=EB=9E=A8=20/=20=EA=B9=80=EB=AF=BC=EC=A7=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...40\353\204\210\352\267\270\353\236\250.md" | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 "zinnnn37/202509/21 BOJ G5 \354\225\240\353\204\210\352\267\270\353\236\250.md" diff --git "a/zinnnn37/202509/21 BOJ G5 \354\225\240\353\204\210\352\267\270\353\236\250.md" "b/zinnnn37/202509/21 BOJ G5 \354\225\240\353\204\210\352\267\270\353\236\250.md" new file mode 100644 index 00000000..9f21f392 --- /dev/null +++ "b/zinnnn37/202509/21 BOJ G5 \354\225\240\353\204\210\352\267\270\353\236\250.md" @@ -0,0 +1,55 @@ +```java +import java.io.*; + +public class BJ_6443_애너그램 { + + private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + + private static String input; + private static int length; + private static int[] alphabets; + private static char[] result; + + public static void main(String[] args) throws IOException { + int T = Integer.parseInt(br.readLine()); + + while (T-- > 0) { + sol(); + } + bw.flush(); + bw.close(); + br.close(); + } + + private static void sol() throws IOException { + input = br.readLine(); + length = input.length(); + alphabets = new int[26]; + result = new char[length]; + + for (int i = 0; i < length; i++) { + alphabets[input.charAt(i) - 'a']++; + } + + perm(0); + } + + private static void perm(int depth) throws IOException { + if (depth == length) { + bw.write(result); + bw.write('\n'); + return; + } + + for (int i = 0; i < 26; i++) { + if (alphabets[i] > 0) { + alphabets[i]--; + result[depth] = (char) (i + 'a'); + perm(depth + 1); + alphabets[i]++; + } + } + } +} +``` \ No newline at end of file From e6095d824c7ff80928ed10512c4597123bf2ee72 Mon Sep 17 00:00:00 2001 From: zinnnn37 Date: Sun, 21 Sep 2025 20:52:25 +0900 Subject: [PATCH 3/3] =?UTF-8?q?[20250920]=20BOJ=20/=20G4=20/=20=EC=B2=B4?= =?UTF-8?q?=EC=8A=A4=ED=8C=90=20=EB=8B=A4=EC=8B=9C=20=EC=B9=A0=ED=95=98?= =?UTF-8?q?=EA=B8=B0=202=20/=20=EA=B9=80=EB=AF=BC=EC=A7=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...3\244\354\213\234 \354\271\240\355\225\230\352\270\260 2.md" | 2 -- 1 file changed, 2 deletions(-) diff --git "a/zinnnn37/202509/20 BOJ G4 \354\262\264\354\212\244\355\214\220 \353\213\244\354\213\234 \354\271\240\355\225\230\352\270\260 2.md" "b/zinnnn37/202509/20 BOJ G4 \354\262\264\354\212\244\355\214\220 \353\213\244\354\213\234 \354\271\240\355\225\230\352\270\260 2.md" index 1acb797d..9184e536 100644 --- "a/zinnnn37/202509/20 BOJ G4 \354\262\264\354\212\244\355\214\220 \353\213\244\354\213\234 \354\271\240\355\225\230\352\270\260 2.md" +++ "b/zinnnn37/202509/20 BOJ G4 \354\262\264\354\212\244\355\214\220 \353\213\244\354\213\234 \354\271\240\355\225\230\352\270\260 2.md" @@ -1,6 +1,4 @@ ```java -package etc; - import java.io.*; import java.util.StringTokenizer;