From 3206255b65165d3df36af24aaace954dcdf29f26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=96=A2=20=E5=A4=A7=E8=BC=9D?= Date: Fri, 30 Jun 2023 16:52:31 +0900 Subject: [PATCH 1/2] =?UTF-8?q?paiza=20C112=20=E5=9B=9E=E7=AD=94=E3=83=95?= =?UTF-8?q?=E3=82=A1=E3=82=A4=E3=83=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dseki/paiza/src/C112.java | 51 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 dseki/paiza/src/C112.java diff --git a/dseki/paiza/src/C112.java b/dseki/paiza/src/C112.java new file mode 100644 index 0000000..37a4340 --- /dev/null +++ b/dseki/paiza/src/C112.java @@ -0,0 +1,51 @@ +import java.util.ArrayList; +import java.util.Collections; +import java.util.Scanner; + +/** + * 時差ぼけ. + */ +public class C112 { + private final int itineraryDays; // 旅程の日数 + private final int TIME_OF_DAY = 24; // 1日の時間 + + private C112(final int itineraryDays) { + this.itineraryDays = itineraryDays; + } + + /** + * メインメソッド. + */ + public static void main(final String[] args) { + final Scanner sc = new Scanner(System.in); + new C112(sc.nextInt()).findMinAndMax(sc); + sc.close(); + } + + // 最小値と最大値を返すメソッド + private void findMinAndMax(final Scanner sc) { + final ArrayList minAndMax = timeSpentInDay(sc); + System.out.println(Collections.min(minAndMax)); + System.out.println(Collections.max(minAndMax)); + } + + // 1日でどのくらいの時間を過ごしたかのリストを返すメソッド + private ArrayList timeSpentInDay(final Scanner sc) { + final ArrayList timeSpentInDayList = new ArrayList(); + for (int i = 0; i < itineraryDays; i++) { + final int departureTime = sc.nextInt(); // 出発時刻 + final int flightTime = sc.nextInt(); // 飛行機の乗車時間 + final int arrivalTime = sc.nextInt(); // 到着時刻 + final int timeSpentAfterArrival = calculateTimeSpentAfterArrival(arrivalTime); + final int timeSpentInDay = departureTime + flightTime + timeSpentAfterArrival; + timeSpentInDayList.add(timeSpentInDay); + } + return timeSpentInDayList; + } + + // 到着後、24時まであと何時間あるかを計算するメソッド + private int calculateTimeSpentAfterArrival(final int arrivalTime) { + final int timeSpentAfterArraival = this.TIME_OF_DAY - arrivalTime; + return timeSpentAfterArraival; + } +} -- GitLab From af0e5a054ca66d82be7c53f2b8c0fdf0da18ada3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=96=A2=20=E5=A4=A7=E8=BC=9D?= Date: Mon, 3 Jul 2023 09:42:48 +0900 Subject: [PATCH 2/2] =?UTF-8?q?paiza=20C112=20=E4=BF=AE=E6=AD=A3=E3=83=95?= =?UTF-8?q?=E3=82=A1=E3=82=A4=E3=83=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dseki/paiza/src/C112.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dseki/paiza/src/C112.java b/dseki/paiza/src/C112.java index 37a4340..a7e0d82 100644 --- a/dseki/paiza/src/C112.java +++ b/dseki/paiza/src/C112.java @@ -24,13 +24,13 @@ public class C112 { // 最小値と最大値を返すメソッド private void findMinAndMax(final Scanner sc) { - final ArrayList minAndMax = timeSpentInDay(sc); - System.out.println(Collections.min(minAndMax)); - System.out.println(Collections.max(minAndMax)); + final ArrayList totalLengthOfStayList = getTimeSpentInDayList(sc); + System.out.println(Collections.min(totalLengthOfStayList)); + System.out.println(Collections.max(totalLengthOfStayList)); } // 1日でどのくらいの時間を過ごしたかのリストを返すメソッド - private ArrayList timeSpentInDay(final Scanner sc) { + private ArrayList getTimeSpentInDayList(final Scanner sc) { final ArrayList timeSpentInDayList = new ArrayList(); for (int i = 0; i < itineraryDays; i++) { final int departureTime = sc.nextInt(); // 出発時刻 -- GitLab