From 9be3d4c53708b9124c3185db5b3baca94ccddcf2 Mon Sep 17 00:00:00 2001 From: Jonghwan Lee <123362165+0224LJH@users.noreply.github.com> Date: Wed, 30 Jul 2025 10:22:05 +0900 Subject: [PATCH] =?UTF-8?q?[20250730]=20BOJ=20/=20G4=20/=20=EA=B0=80?= =?UTF-8?q?=EC=9E=A5=20=EA=B8=B4=20=EB=B0=94=EC=9D=B4=ED=86=A0=EB=8B=89=20?= =?UTF-8?q?=EB=B6=80=EB=B6=84=20=EC=88=98=EC=97=B4=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 --- ...\353\266\204 \354\210\230\354\227\264 .md" | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 "0224LJH/202507/30 BOJ \352\260\200\354\236\245 \352\270\264 \353\260\224\354\235\264\355\206\240\353\213\211 \353\266\200\353\266\204 \354\210\230\354\227\264 .md" diff --git "a/0224LJH/202507/30 BOJ \352\260\200\354\236\245 \352\270\264 \353\260\224\354\235\264\355\206\240\353\213\211 \353\266\200\353\266\204 \354\210\230\354\227\264 .md" "b/0224LJH/202507/30 BOJ \352\260\200\354\236\245 \352\270\264 \353\260\224\354\235\264\355\206\240\353\213\211 \353\266\200\353\266\204 \354\210\230\354\227\264 .md" new file mode 100644 index 00000000..c80b1e84 --- /dev/null +++ "b/0224LJH/202507/30 BOJ \352\260\200\354\236\245 \352\270\264 \353\260\224\354\235\264\355\206\240\353\213\211 \353\266\200\353\266\204 \354\210\230\354\227\264 .md" @@ -0,0 +1,58 @@ +```java +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Arrays; +import java.util.StringTokenizer; + +public class Main { + static int[] arr,lis,lds; + static int len,ans; + + + public static void main(String[] args) throws IOException { + init(); + process(); + print(); + } + + private static void init() throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + len = Integer.parseInt(br.readLine()); + arr = new int[len]; + lis = new int[len]; + lds = new int[len]; + ans = 0; + + StringTokenizer st = new StringTokenizer(br.readLine()); + for (int i = 0; i < len; i++) { + arr[i] = Integer.parseInt(st.nextToken()); + } + } + + private static void process() throws IOException { + Arrays.fill(lis, 1); + Arrays.fill(lds, 1); + + for (int i = 1; i < len; i++) { + for (int j = 0; j < i; j++){ + if (arr[i] > arr[j]) lis[i] = Math.max(lis[i], lis[j] + 1); + } + } + + for (int i = len -1; i >= 0; i--) { + for (int j = len-1; j > i; j--){ + if (arr[i] > arr[j]) lds[i] = Math.max(lds[i], lds[j] + 1); + } + } + + for (int i = 0; i < len; i++){ + ans = Math.max(ans, lis[i] + lds[i] - 1); + } + } + + private static void print() { + System.out.println(ans); + } +} +``` \ No newline at end of file