From 24ef1279b44534cac69105932d4596d1e20cbea2 Mon Sep 17 00:00:00 2001 From: yeon-06 Date: Sat, 20 Aug 2022 10:34:46 +0900 Subject: [PATCH] =?UTF-8?q?[=EC=97=B0=EB=A1=9C=EA=B7=B8]=208=EC=A3=BC?= =?UTF-8?q?=EC=B0=A8=20=EA=B3=BC=EC=A0=9C=20=EC=A0=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\354\227\260\353\241\234\352\267\270.java" | 68 +++++++++++++++++++ ...\354\227\260\353\241\234\352\267\270.java" | 46 +++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 "8\354\243\274\354\260\250/14906/14906_java_\354\227\260\353\241\234\352\267\270.java" create mode 100644 "8\354\243\274\354\260\250/16498/16498_java_\354\227\260\353\241\234\352\267\270.java" diff --git "a/8\354\243\274\354\260\250/14906/14906_java_\354\227\260\353\241\234\352\267\270.java" "b/8\354\243\274\354\260\250/14906/14906_java_\354\227\260\353\241\234\352\267\270.java" new file mode 100644 index 0000000..b8e64e6 --- /dev/null +++ "b/8\354\243\274\354\260\250/14906/14906_java_\354\227\260\353\241\234\352\267\270.java" @@ -0,0 +1,68 @@ +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class Main { + + private static final StringBuilder sb = new StringBuilder(); + + public static void main(String[] args) throws IOException { + // input + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + int n = Integer.parseInt(br.readLine()); + + sb.append("SLURPYS OUTPUT\n"); + for (int i = 0; i < n; i++) { + String string = br.readLine(); + if (isSlurpy(string)) { + sb.append("YES\n"); + } else { + sb.append("NO\n"); + } + } + sb.append("END OF OUTPUT\n"); + System.out.println(sb); + br.close(); + } + + private static boolean isSlurpy(String string) { + int index = string.lastIndexOf('C'); + if (index == -1) { + if (string.startsWith("AH")) { + return isSlump(string.substring(2)); + } + return false; + } + + String checkSlimp = string.substring(0, index + 1); + String checkSlump = string.substring(index + 1); + + return isSlimp(checkSlimp) && isSlump(checkSlump); + } + + private static boolean isSlimp(String string) { + int length = string.length(); + + if (length < 2) { + return false; + } + + if (length == 2) { + return "AH".equals(string); + } + + if (string.charAt(0) != 'A' || string.charAt(length - 1) != 'C') { + return false; + } + + if (string.charAt(1) == 'B') { + return isSlimp(string.substring(2, length - 1)); + } + + return isSlump(string.substring(1, length - 1)); + } + + private static boolean isSlump(String string) { + return string.matches("^[DE]F+[DEFG]*G$"); + } +} diff --git "a/8\354\243\274\354\260\250/16498/16498_java_\354\227\260\353\241\234\352\267\270.java" "b/8\354\243\274\354\260\250/16498/16498_java_\354\227\260\353\241\234\352\267\270.java" new file mode 100644 index 0000000..3879e4e --- /dev/null +++ "b/8\354\243\274\354\260\250/16498/16498_java_\354\227\260\353\241\234\352\267\270.java" @@ -0,0 +1,46 @@ +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Arrays; + +public class Main { + + // 3중 for문으로 풀었는데 돌아가는게 맞는걸까요? ........ + // 다른 풀이 방법은 생각 안나서 일단 제출합니다 좋은 풀이 방법에 대한 힌트 제안 부탁드려요 + + public static void main(String[] args) throws IOException { + // input + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + br.readLine(); + int[] as = convert(br.readLine()); + int[] bs = convert(br.readLine()); + int[] cs = convert(br.readLine()); + br.close(); + + // sort + Arrays.sort(as); + Arrays.sort(bs); + Arrays.sort(cs); + + // calculate + int min = Integer.MAX_VALUE; + for (int a : as) { + for (int b : bs) { + for (int c : cs) { + min = Math.min(calculate(a, b, c), min); + } + } + } + System.out.println(min); + } + + private static int[] convert(String string) { + return Arrays.stream(string.split(" ")) + .mapToInt(Integer::parseInt) + .toArray(); + } + + private static int calculate(int a, int b, int c) { + return Math.abs(Math.max(a, Math.max(b, c)) - Math.min(a, Math.min(b, c))); + } +}