From b0101580c93763b0f6b4eab74e348286021ae463 Mon Sep 17 00:00:00 2001 From: LiiNi-coder <97495437+LiiNi-coder@users.noreply.github.com> Date: Wed, 13 Aug 2025 23:24:49 +0900 Subject: [PATCH] =?UTF-8?q?[20250813]=20BOJ=20/=20G4=20/=20=EC=83=98?= =?UTF-8?q?=ED=84=B0=20/=20=EC=9D=B4=EC=9D=B8=ED=9D=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../13 BOJ \354\203\230\355\204\260.md" | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 "LiiNi-coder/202508/13 BOJ \354\203\230\355\204\260.md" diff --git "a/LiiNi-coder/202508/13 BOJ \354\203\230\355\204\260.md" "b/LiiNi-coder/202508/13 BOJ \354\203\230\355\204\260.md" new file mode 100644 index 00000000..dc7a2310 --- /dev/null +++ "b/LiiNi-coder/202508/13 BOJ \354\203\230\355\204\260.md" @@ -0,0 +1,53 @@ +```java +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.*; + +public class Main { + private static BufferedReader br; + private static StringTokenizer st; + + public static void main(String[] args) throws IOException { + br = new BufferedReader(new InputStreamReader(System.in)); + st = new StringTokenizer(br.readLine()); + int n = Integer.parseInt(st.nextToken()); + int k = Integer.parseInt(st.nextToken()); + Queue q = new LinkedList<>(); + HashSet visited = new HashSet<>(); + st = new StringTokenizer(br.readLine()); + for (int i = 0; i < n; i++) { + int x = Integer.parseInt(st.nextToken()); + q.offer(x); + visited.add(x); + } + + long answer = 0; + int distance = 1; + int builtCount = 0; + int[] dxs = { -1, 1 }; + + outer: // naming가능한 break문 + while (!q.isEmpty()) { + int size = q.size(); + for (int t = 0; t < size; t++) { + int x = q.poll(); + for (int d : dxs) { + int nx = x + d; + if (visited.contains(nx)) + continue; + visited.add(nx); + q.offer(nx); + answer += distance; + builtCount++; + if (builtCount == k) + break outer; + } + } + distance++; + } + System.out.println(answer); + br.close(); + } +} +```