🤖

AtCoder Beginner Contest 348 C - Colorful Beans 備忘録 PHP

2024/05/08に公開

PHPで解いています。

問題はこちら。
https://atcoder.jp/contests/abc348/tasks/abc348_c

解のポイント

これも最小値を都度更新していくのがポイント。

  • それぞれの色の最小値を比較するために配列を作成する
  • 色は一意なのでkeyに設定する
  • 色の最小値はif文で比較し更新していく
  • valueを比較しmaxの値を出力する

全体コード

<?php

use PHPUnit\Event\Runtime\PHP;

$N = fgets(STDIN);

// 色と最小値の連想配列
$colors_array = array();

for($i = 0; $i < $N; $i++) {
    list($value, $color) = explode(" ", trim(fgets(STDIN)));    
    // 色の配列が存在し$valueがより小さい場合は更新
    if(!isset($colors_array[$color])) {
        $colors_array[$color] = $value;
    } elseif($colors_array[$color] > $value) {
        $colors_array[$color] = $value;
    } else {
        continue;
    }      
}

// print_r($colors_array);
// Array
// (
//     [1] => 40
//     [5] => 20
// )

echo max($colors_array) . PHP_EOL;

Discussion