From 318f43c7d061856ef66733ecff6dbf3f6573d598 Mon Sep 17 00:00:00 2001 From: Jonghwan Lee <123362165+0224LJH@users.noreply.github.com> Date: Sun, 14 Dec 2025 16:58:28 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[20251214]=20BOJ=20/=20G4=20/=20=EC=A2=81?= =?UTF-8?q?=EC=9D=80=20=EB=AF=B8=EC=88=A0=EC=A0=84=EC=8B=9C=EA=B4=80=20/?= =?UTF-8?q?=20=EC=9D=B4=EC=A2=85=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...40\354\240\204\354\213\234\352\264\200.md" | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 "0224LJH/202512/14 BOJ \354\242\201\354\235\200 \353\257\270\354\210\240\354\240\204\354\213\234\352\264\200.md" diff --git "a/0224LJH/202512/14 BOJ \354\242\201\354\235\200 \353\257\270\354\210\240\354\240\204\354\213\234\352\264\200.md" "b/0224LJH/202512/14 BOJ \354\242\201\354\235\200 \353\257\270\354\210\240\354\240\204\354\213\234\352\264\200.md" new file mode 100644 index 00000000..c01c02f5 --- /dev/null +++ "b/0224LJH/202512/14 BOJ \354\242\201\354\235\200 \353\257\270\354\210\240\354\240\204\354\213\234\352\264\200.md" @@ -0,0 +1,79 @@ +```java +import java.util.*; +import java.io.*; + +public class Main { + + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + + static int size, closeCnt, ans; + static int dp[][][]; + static int arr[][]; + + public static void main(String[] args) throws IOException { + while(true) { + init(); + if (size == 0 && closeCnt ==0) break; + process(); + print(); + } + + } + + private static void init() throws IOException { + + StringTokenizer st = new StringTokenizer(br.readLine()); + size = Integer.parseInt(st.nextToken()); + closeCnt = Integer.parseInt(st.nextToken()); + ans = 0 ; + if (size == 0 )return; + + dp = new int [size][3][closeCnt+1]; + // dp[i][j][k]: i번째칸까지 와서 k번만큼 방을 닫았을 때의 최댓값. 이때 j는 마지막에 어디를 닫았느냐를 의미 (0: 왼쪽, 1:오른쪽, 2:안닫음) + arr = new int[size][2]; + + + for (int i = 0; i < size; i++) { + st = new StringTokenizer(br.readLine()); + for (int j = 0; j < 2; j++) { + arr[i][j] = Integer.parseInt(st.nextToken()); + } + } + + + + } + + private static void process() { + if (closeCnt != 0) { + dp[0][0][1] = arr[0][1]; + dp[0][1][1] = arr[0][0]; + } + + dp[0][2][0] = arr[0][1] + arr[0][0]; + + for (int i = 1; i < size; i++) { + for (int j = 0; j <= closeCnt; j++) { + dp[i][2][j] = Math.max( Math.max(dp[i-1][0][j],dp[i-1][1][j] ), dp[i-1][2][j]); + if (dp[i][2][j] != 0) dp[i][2][j] += arr[i][0] + arr[i][1]; + + if (j == 0) continue; + dp[i][1][j] = Math.max(dp[i-1][1][j-1],dp[i-1][2][j-1]); + if (dp[i][1][j] != 0) dp[i][1][j] += arr[i][0]; + + dp[i][0][j] = Math.max(dp[i-1][0][j-1],dp[i-1][2][j-1]); + if (dp[i][0][j] != 0) dp[i][0][j] += arr[i][1]; + + } + } + System.out.println(dp[size-1][0][closeCnt] + " " + dp[size-1][1][closeCnt] + " " + dp[size-1][2][closeCnt]); + ans = Math.max( Math.max(dp[size-1][0][closeCnt],dp[size-1][1][closeCnt]),dp[size-1][2][closeCnt]); + + } + + + private static void print() { + System.out.println(ans); + } +} +``` From 00977d60eb077e7f0df548e2e7f4e9faf7d7655f Mon Sep 17 00:00:00 2001 From: Jonghwan Lee <123362165+0224LJH@users.noreply.github.com> Date: Mon, 15 Dec 2025 16:32:51 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[20251215]=20PGM=20/=20Lv2=20/=20=EC=98=88?= =?UTF-8?q?=EC=83=81=20=EB=8C=80=EC=A7=84=ED=91=9C=20/=20=EC=9D=B4?= =?UTF-8?q?=EC=A2=85=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...1 \353\214\200\354\247\204\355\221\234.md" | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 "0224LJH/202512/15 PGM \354\230\210\354\203\201 \353\214\200\354\247\204\355\221\234.md" diff --git "a/0224LJH/202512/15 PGM \354\230\210\354\203\201 \353\214\200\354\247\204\355\221\234.md" "b/0224LJH/202512/15 PGM \354\230\210\354\203\201 \353\214\200\354\247\204\355\221\234.md" new file mode 100644 index 00000000..e88fa754 --- /dev/null +++ "b/0224LJH/202512/15 PGM \354\230\210\354\203\201 \353\214\200\354\247\204\355\221\234.md" @@ -0,0 +1,21 @@ +```java +import java.io.*; +import java.util.*; + +class Solution +{ + public int solution(int n, int a, int b) + { + int answer = 0; + a--; + b--; + while (a != b){ + answer++; + a /= 2; + b /= 2; + } + + return answer; + } +} +```