From 2fc2d37f5d073547b3f2c1c528e0ab1ac42ac9f3 Mon Sep 17 00:00:00 2001 From: lkhyun <102892446+lkhyun@users.noreply.github.com> Date: Wed, 11 Jun 2025 22:11:10 +0900 Subject: [PATCH] =?UTF-8?q?[20250611]=20BOJ=20/=20G3=20/=20=EC=84=B8=20?= =?UTF-8?q?=EC=9A=A9=EC=95=A1=20/=20=EC=9D=B4=EA=B0=95=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ... \354\204\270 \354\232\251\354\225\241.md" | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 "lkhyun/202506/11 BOJ G3 \354\204\270 \354\232\251\354\225\241.md" diff --git "a/lkhyun/202506/11 BOJ G3 \354\204\270 \354\232\251\354\225\241.md" "b/lkhyun/202506/11 BOJ G3 \354\204\270 \354\232\251\354\225\241.md" new file mode 100644 index 00000000..c785f320 --- /dev/null +++ "b/lkhyun/202506/11 BOJ G3 \354\204\270 \354\232\251\354\225\241.md" @@ -0,0 +1,83 @@ +```java +import java.io.*; +import java.util.*; + +public class Main { + static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + static StringTokenizer st; + static int N; + static int[] arr; + static int[] selected = new int[3]; + static long min = Long.MAX_VALUE; + public static void main(String[] args) throws IOException { + + N = Integer.parseInt(br.readLine()); + arr = new int[N]; + st = new StringTokenizer(br.readLine()); + for (int i = 0; i < N; i++) { + arr[i] = Integer.parseInt(st.nextToken()); + } + Arrays.sort(arr); + + boolean[] visited = new boolean[N]; + a:for (int i = 0; i < N; i++) { //모든 값들 중 하나 선택 + long base = arr[i]; + visited[i] = true; + int left,right; + + //base가 아닌 값들중 좌 우 맨 끝 값을 선택 + if(i==0){ + left = 1; + right = N-1; + }else if(i==N-1){ + left = 0; + right = N-2; + }else{ + left = 0; + right = N-1; + } + + while(left 0){ + if(Math.abs(sum) < min){ + min = Math.abs(sum); + selected[0] = arr[left]; + selected[1] = arr[right]; + selected[2] = (int)base; + } + if(visited[right-1]){ + right -= 2; + }else{ + right--; + } + }else{ + selected[0] = arr[left]; + selected[1] = arr[right]; + selected[2] = (int)base; + break a; + } + } + visited[i] = false; + } + Arrays.sort(selected); + for (int i = 0; i < 3; i++) { + bw.write(selected[i] + " "); + } + bw.close(); + } +} +```