From 404e35344fae2dc1658fe921ee2f01f2588cfe91 Mon Sep 17 00:00:00 2001 From: rtanaka Date: Tue, 8 Jul 2025 15:54:06 +0900 Subject: [PATCH 1/2] =?UTF-8?q?paiza=E3=81=AE=E5=95=8F=E9=A1=8CB079?= =?UTF-8?q?=E3=81=AE=E5=9B=9E=E7=AD=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rtanaka/src/AlphabetConverter.java | 39 ++++++++++++++++++++++++++++++ rtanaka/src/B079.java | 26 ++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 rtanaka/src/AlphabetConverter.java create mode 100644 rtanaka/src/B079.java diff --git a/rtanaka/src/AlphabetConverter.java b/rtanaka/src/AlphabetConverter.java new file mode 100644 index 0000000..0471c9b --- /dev/null +++ b/rtanaka/src/AlphabetConverter.java @@ -0,0 +1,39 @@ +import java.util.ArrayList; +import java.util.List; + +public class AlphabetConverter { + + /** + * @param text 入力されたアルファベット文字列 + * @return アルファベットを数字に変換したリスト。 + */ + public static List alphabetToNumber(String text) { + List convertedNums = new ArrayList<>(); + + for (char ch : text.toCharArray()) { + convertedNums.add((ch - 'a' + 1)); + } + return convertedNums; + } + + /** + * @param currentNumsList アルファベットを数字に変換したリスト + * @return 相性計算後の数値 + */ + public static int compatibilityCheck(List currentNumsList) { + + // リストの要素数が1になるまで + while (currentNumsList.size() > 1) { + List nextNumsList = new ArrayList<>();// nextNumsの初期化 + for (int i = 0; i < currentNumsList.size() - 1; i++) {// リストの要素数だけ回す + int sum = currentNumsList.get(i) + currentNumsList.get(i + 1);// リストの要素とその次の要素を足す + if (sum >= 101) + sum -= 101;// 二つの数字の合計が101を超える場合は101を引く + nextNumsList.add(sum);//二値の合計を次のリストに加える + } + currentNumsList = nextNumsList;// リストを更新 + } + int compatibilityResult = currentNumsList.get(0); + return compatibilityResult; + } +} \ No newline at end of file diff --git a/rtanaka/src/B079.java b/rtanaka/src/B079.java new file mode 100644 index 0000000..78abcb8 --- /dev/null +++ b/rtanaka/src/B079.java @@ -0,0 +1,26 @@ +/** + * @author 田中亮汰 + * @version 1.0 + */ + +import java.util.List; +import java.util.Scanner; + +public class B079 { + + public static void main(String[] args) { + /* 入力 */ + Scanner sc = new Scanner(System.in); + String nameA = sc.next();// 文字列を受け取る + String nameB = sc.next(); + sc.close(); + + /* 計算 */ + String nameConcatenation = nameA.concat(nameB); // 文字列を連結する + List currentNums = AlphabetConverter.alphabetToNumber(nameConcatenation);// 文字列を数字のリストに変換する + int compatibilityResult = AlphabetConverter.compatibilityCheck(currentNums);//相性を計算し返す + + /* 出力 */ + System.out.println(compatibilityResult); + } +} \ No newline at end of file -- GitLab From 991699ee80bd44920e5b6b3820c5a7d79314fe7d Mon Sep 17 00:00:00 2001 From: rtanaka Date: Tue, 8 Jul 2025 17:26:19 +0900 Subject: [PATCH 2/2] =?UTF-8?q?paiza=E3=81=AE=E5=95=8F=E9=A1=8CB079?= =?UTF-8?q?=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rtanaka/src/B079.java | 4 ++-- ...tConverter.java => CompatibilityCalculator.java} | 13 ++++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) rename rtanaka/src/{AlphabetConverter.java => CompatibilityCalculator.java} (74%) diff --git a/rtanaka/src/B079.java b/rtanaka/src/B079.java index 78abcb8..f8ff32c 100644 --- a/rtanaka/src/B079.java +++ b/rtanaka/src/B079.java @@ -17,8 +17,8 @@ public class B079 { /* 計算 */ String nameConcatenation = nameA.concat(nameB); // 文字列を連結する - List currentNums = AlphabetConverter.alphabetToNumber(nameConcatenation);// 文字列を数字のリストに変換する - int compatibilityResult = AlphabetConverter.compatibilityCheck(currentNums);//相性を計算し返す + List currentNums = CompatibilityCalculator.alphabetToNumber(nameConcatenation);// 文字列を数字のリストに変換する + int compatibilityResult = CompatibilityCalculator.compatibilityCheck(currentNums);//相性を計算し返す /* 出力 */ System.out.println(compatibilityResult); diff --git a/rtanaka/src/AlphabetConverter.java b/rtanaka/src/CompatibilityCalculator.java similarity index 74% rename from rtanaka/src/AlphabetConverter.java rename to rtanaka/src/CompatibilityCalculator.java index 0471c9b..0a840a3 100644 --- a/rtanaka/src/AlphabetConverter.java +++ b/rtanaka/src/CompatibilityCalculator.java @@ -1,9 +1,12 @@ import java.util.ArrayList; import java.util.List; -public class AlphabetConverter { +public class CompatibilityCalculator { /** + * 文字列を一文字ずつ数値に変換しリストに追加して + * そのリストを返すメソッド + * * @param text 入力されたアルファベット文字列 * @return アルファベットを数字に変換したリスト。 */ @@ -17,18 +20,22 @@ public class AlphabetConverter { } /** + * リストの中身を参照して前後の要素を足して別のリストに追加 + * そのリストに対して同じ処理をする事をリストの要素数が1になるまで繰り返し + * その要素(数値)を返すメソッド + * * @param currentNumsList アルファベットを数字に変換したリスト * @return 相性計算後の数値 */ public static int compatibilityCheck(List currentNumsList) { - // リストの要素数が1になるまで while (currentNumsList.size() > 1) { List nextNumsList = new ArrayList<>();// nextNumsの初期化 for (int i = 0; i < currentNumsList.size() - 1; i++) {// リストの要素数だけ回す int sum = currentNumsList.get(i) + currentNumsList.get(i + 1);// リストの要素とその次の要素を足す - if (sum >= 101) + if (sum >= 101) { sum -= 101;// 二つの数字の合計が101を超える場合は101を引く + } nextNumsList.add(sum);//二値の合計を次のリストに加える } currentNumsList = nextNumsList;// リストを更新 -- GitLab