3
1

きょ~れつ~(ワカチコワカチコ

小さい数を探す(ここらへんの文考えるのめんどくなってきた

チェック処理とかは端折ってる

/** ここから定型文 */
ここで記載したクラスについては、
こっちの記事に書いてある、標準入力をList化したりしてるMainクラスから呼び出す予定だし・なんか継承したりしてるYO!!

ちな、Mainを実行して標準入力から入力するのクソ面倒くさいので、
Java編については問題の入力例をパラメータにしたテストクラスとかも作って公開するYO!!

開発・実行環境はこんな感じ
  • VSCode
  • Java 17
  • jUnit 5.9
  • maven

pom.xmlはこんな感じ

pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>jp.co.asil</groupId>
    <artifactId>paiza202408</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.9.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
/** ここまで定型文 */

実装クラス

MinNum.java
package jp.co.asil.paiza202408;

import java.util.List;

public class MinNum extends Question {

  public MinNum(List<String> list) {
    super(list);
  }

  /**
   * 5 つの正の整数が入力されるので、最も小さい数字を出力して下さい。
   */
  @Override
  public List<String> answer() {
    return List.of(String.valueOf(list.stream().mapToInt(Integer::parseInt).min().getAsInt()));
  }
}

テストクラス

MinNumTest.java
package jp.co.asil.paiza202408;

import static org.junit.jupiter.api.Assertions.assertEquals;

import java.util.List;

import org.junit.jupiter.api.Test;

public class MinNumTest {
  @Test
  void testAnswer1() {
    MinNum MinNum = new MinNum(List.of("10",
        "12",
        "4",
        "8",
        "46"));
    assertEquals(MinNum.answer().get(0), "4");
  }

  @Test
  void testAnswer2() {
    MinNum MinNum = new MinNum(List.of("1",
        "2",
        "3",
        "2",
        "1"));
    assertEquals(MinNum.answer().get(0), "1");
  }
}

まとめるほどでもないやつ

何をするかを順序よく書けばいいだけなので、ラムダを使えば簡単に書けるね(ニッコリ
文字列を数値変換 → 最小値取得 → Int型で取得

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1