From 813f062cac89c1f164ed8e3cee81b579c087bd7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BC=8A=E8=97=A4=20=E5=8B=87=E8=BC=9D?= Date: Mon, 30 Sep 2024 13:32:19 +0900 Subject: [PATCH 1/6] =?UTF-8?q?paiza=E3=81=AE=E5=95=8F=E9=A1=8CB050?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yitou/B050_VTicket.java | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 yitou/B050_VTicket.java diff --git a/yitou/B050_VTicket.java b/yitou/B050_VTicket.java new file mode 100644 index 0000000..02aa87a --- /dev/null +++ b/yitou/B050_VTicket.java @@ -0,0 +1,44 @@ +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; + +public class B050_VTicket { + public static void main(String[] args) { + final Scanner scan = new Scanner(System.in); + final int qty = scan.nextInt(); + final String key = scan.next(); + + List results = new ArrayList<>(); + + for (int i = 0; i < qty; i++) { + String ticket = scan.next(); + if (validTicket(key, ticket)) { + results.add("valid"); + } else { + results.add("invalid"); + } + } + scan.close(); + + for (String result : results) { + System.out.println(result); + } + } + + private static boolean validTicket(String key, String ticket) { + if (ticket.contains(key)) { + return true; + } + // 余計な1文字を削除 + for (int i = 0; i < ticket.length(); i++) { + StringBuilder sb = new StringBuilder(ticket); + sb.deleteCharAt(i); // i番目の文字を削除 + + if (sb.toString().contains(key)) { + return true; + } + } + + return false; + } +} -- GitLab From 08986eb150ca8ba5f211d913c1fe5d42b83f9ad3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BC=8A=E8=97=A4=20=E5=8B=87=E8=BC=9D?= Date: Mon, 30 Sep 2024 14:03:30 +0900 Subject: [PATCH 2/6] =?UTF-8?q?=E5=95=8F=E9=A1=8CB050?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yitou/B050_VTicket.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yitou/B050_VTicket.java b/yitou/B050_VTicket.java index 02aa87a..1f454d3 100644 --- a/yitou/B050_VTicket.java +++ b/yitou/B050_VTicket.java @@ -8,7 +8,7 @@ public class B050_VTicket { final int qty = scan.nextInt(); final String key = scan.next(); - List results = new ArrayList<>(); + final List results = new ArrayList<>(); for (int i = 0; i < qty; i++) { String ticket = scan.next(); -- GitLab From e4a29721152de22163dc44edaf26584699a4a47a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BC=8A=E8=97=A4=20=E5=8B=87=E8=BC=9D?= Date: Tue, 1 Oct 2024 11:50:08 +0900 Subject: [PATCH 3/6] =?UTF-8?q?=E5=95=8F=E9=A1=8CB050=E3=81=AE=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yitou/B050_Ticket.java | 47 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 yitou/B050_Ticket.java diff --git a/yitou/B050_Ticket.java b/yitou/B050_Ticket.java new file mode 100644 index 0000000..11bae9d --- /dev/null +++ b/yitou/B050_Ticket.java @@ -0,0 +1,47 @@ +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; + +/** + * このクラスは、有効なチケットの作成と検証を行います. + */ + +public class B050_Ticket{ + public static void main(final String[] args) { + final Scanner scan = new Scanner(System.in); + final int ticketNum = scan.nextInt(); + final String key = scan.next(); + final List results = new ArrayList<>(); + + for (int i = 0; i < ticketNum; i++) { + final String ticket = scan.next(); + if (isValidTicket(key, ticket)) { + results.add("valid"); + } else { + results.add("invalid"); + } + } + scan.close(); + + for (String result : results) { + System.out.println(result); + } + } + + private static boolean isValidTicket(final String key, final String ticket) { + if (ticket.contains(key)) { + return true; + } + // 余計な1文字を削除 + for (int i = 0; i < ticket.length(); i++) { + final StringBuilder sb = new StringBuilder(ticket); + sb.deleteCharAt(i); // i番目の文字を削除 + + if (sb.toString().contains(key)) { + return true; + } + } + + return false; + } +} -- GitLab From 7dcb0db56681cc1f8b667ec31051571040e02496 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BC=8A=E8=97=A4=20=E5=8B=87=E8=BC=9D?= Date: Tue, 1 Oct 2024 13:21:01 +0900 Subject: [PATCH 4/6] =?UTF-8?q?=E5=95=8F=E9=A1=8CB050=E3=81=AE=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yitou/B050_VTicket.java | 67 +++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 32 deletions(-) diff --git a/yitou/B050_VTicket.java b/yitou/B050_VTicket.java index 1f454d3..6fa94e4 100644 --- a/yitou/B050_VTicket.java +++ b/yitou/B050_VTicket.java @@ -2,43 +2,46 @@ import java.util.ArrayList; import java.util.List; import java.util.Scanner; -public class B050_VTicket { - public static void main(String[] args) { - final Scanner scan = new Scanner(System.in); - final int qty = scan.nextInt(); - final String key = scan.next(); +/** + * このクラスは、有効なチケットの作成と検証を行います. + */ - final List results = new ArrayList<>(); +public class B050_VTicket{ + public static void main(final String[] args) { + final Scanner scan = new Scanner(System.in); + final int ticketNum = scan.nextInt(); + final String key = scan.next(); + final List results = new ArrayList<>(); - for (int i = 0; i < qty; i++) { - String ticket = scan.next(); - if (validTicket(key, ticket)) { - results.add("valid"); - } else { - results.add("invalid"); - } - } - scan.close(); - - for (String result : results) { - System.out.println(result); - } + for (int i = 0; i < ticketNum; i++) { + final String ticket = scan.next(); + if (isValidTicket(key, ticket)) { + results.add("valid"); + } else { + results.add("invalid"); + } } + scan.close(); - private static boolean validTicket(String key, String ticket) { - if (ticket.contains(key)) { - return true; - } - // 余計な1文字を削除 - for (int i = 0; i < ticket.length(); i++) { - StringBuilder sb = new StringBuilder(ticket); - sb.deleteCharAt(i); // i番目の文字を削除 + for (String result : results) { + System.out.println(result); + } + } - if (sb.toString().contains(key)) { - return true; - } - } + private static boolean isValidTicket(final String key, final String ticket) { + if (ticket.contains(key)) { + return true; + } + // 余計な1文字を削除 + for (int i = 0; i < ticket.length(); i++) { + final StringBuilder sb = new StringBuilder(ticket); + sb.deleteCharAt(i); // i番目の文字を削除 - return false; + if (sb.toString().contains(key)) { + return true; + } } + + return false; + } } -- GitLab From d8b8960e1b1f9639a282d629a398a4c5e5b2215a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BC=8A=E8=97=A4=20=E5=8B=87=E8=BC=9D?= Date: Tue, 1 Oct 2024 13:41:10 +0900 Subject: [PATCH 5/6] =?UTF-8?q?=E5=95=8F=E9=A1=8CB050=E3=81=AE=E4=BF=AE?= =?UTF-8?q?=E6=AD=A32?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yitou/B050_VTicket.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/yitou/B050_VTicket.java b/yitou/B050_VTicket.java index 6fa94e4..7d3f77c 100644 --- a/yitou/B050_VTicket.java +++ b/yitou/B050_VTicket.java @@ -3,7 +3,8 @@ import java.util.List; import java.util.Scanner; /** - * このクラスは、有効なチケットの作成と検証を行います. + * チケットは指定されたキーに対して有効性がチェックされます. + * チケットはキーを部分文字列として含む場合、もしくは文字列から一文字削除することでキーを含む場合に有効とみなされます. */ public class B050_VTicket{ -- GitLab From 7e5a1eb9b7eff712db53cc5dba8f98922e210179 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BC=8A=E8=97=A4=20=E5=8B=87=E8=BC=9D?= Date: Tue, 1 Oct 2024 13:52:49 +0900 Subject: [PATCH 6/6] remove B050_Ticket.java --- yitou/B050_Ticket.java | 47 ------------------------------------------ 1 file changed, 47 deletions(-) delete mode 100644 yitou/B050_Ticket.java diff --git a/yitou/B050_Ticket.java b/yitou/B050_Ticket.java deleted file mode 100644 index 11bae9d..0000000 --- a/yitou/B050_Ticket.java +++ /dev/null @@ -1,47 +0,0 @@ -import java.util.ArrayList; -import java.util.List; -import java.util.Scanner; - -/** - * このクラスは、有効なチケットの作成と検証を行います. - */ - -public class B050_Ticket{ - public static void main(final String[] args) { - final Scanner scan = new Scanner(System.in); - final int ticketNum = scan.nextInt(); - final String key = scan.next(); - final List results = new ArrayList<>(); - - for (int i = 0; i < ticketNum; i++) { - final String ticket = scan.next(); - if (isValidTicket(key, ticket)) { - results.add("valid"); - } else { - results.add("invalid"); - } - } - scan.close(); - - for (String result : results) { - System.out.println(result); - } - } - - private static boolean isValidTicket(final String key, final String ticket) { - if (ticket.contains(key)) { - return true; - } - // 余計な1文字を削除 - for (int i = 0; i < ticket.length(); i++) { - final StringBuilder sb = new StringBuilder(ticket); - sb.deleteCharAt(i); // i番目の文字を削除 - - if (sb.toString().contains(key)) { - return true; - } - } - - return false; - } -} -- GitLab