ページ

2012/06/13

[競技プログラミング][PHP][AtCoder]センター採点

勉強がてらに[競技プログラミング][C言語][AtCoder]センター採点 | DevAchieveをPHPで書いてみた。

回答

AtCoder/arc001_1.php at master · wada811/AtCoder · GitHub
<?php

    fscanf(STDIN, "%d", $q);
    fscanf(STDIN, "%s", $answer);

    $counts = array(
        preg_match_all('/1/', $answer, $matches),
        preg_match_all('/2/', $answer, $matches),
        preg_match_all('/3/', $answer, $matches),
        preg_match_all('/4/', $answer, $matches)
    );

    echo max($counts).' '.min($counts)."\n";

?>

PHPでの標準入出力のやり方がわかったのでなんとかなりそう。
preg_match_all関数で簡単に文字列の一致個数を取れるので
C言語とは違った解法で解くことができるのが楽しい。
出力もmax関数やmin関数が配列を渡すと要素の中で最大最小を返してくれるので楽。
ドルマークをつけるのが面倒くさい事以外は満足。
PHPの環境構築してサブミットしなくてもテストできるようにしたい。