Paiza 標準入力セット(PHP編)まとめ ~ランクD相当~

はじめに

Paizaにて標準入力セット(PHP編)を解いてみました。

本番問題の解答・解説はNGですが、こちらに関しては、公開していいそうなのでまとめておきます。

この記事では、スキルチェック問題ランクC,Dを解き終えた後にトライした標準入力セット問題の中で、参考になったものを抜粋して記載しております。全ては記載しておりません。

(回答をPaizaでは再度閲覧できないため、備忘録的目的もあります。)

また、事前知識として標準入力の基本を知っておく必要がありますが、今回は割愛します。以下が参考になるかと思います。

https://paiza.jp/works/search_chapters/3003

①N行のデータの入力 (paizaランク D 相当)

以下が問題のリンクです。詳細はこちらでご確認ください。

https://paiza.jp/works/mondai/stdin/stdin_n_line?language_uid=php

実際に入力される値:
3
aaaaa
bbbbbb
cccc
期待される出力:
aaaaa
bbbbbb
cccc
解答コード:
<?php
    $n = fgets(STDIN);
    for($i=0;$i<$n;$i++){
        $word = fgets(STDIN);
        echo "$word";
    }
?>

この問題ではfor文の中にechoを記載するのがポイントかなと思います。

②3つのデータの入力 (paizaランク D 相当)

以下が問題のリンクです。詳細はこちらでご確認ください。

https://paiza.jp/works/mondai/stdin/stdin_3?language_uid=php

実際に入力される値:
aaaaa bbbbbb cccc
期待される出力:
aaaaa
bbbbbb
cccc
解答コード:
<?php
    fscanf(STDIN, "%s %s %s", $a, $b, $c);
    echo "$a\n";
    echo "$b\n";
    echo "$c";
?>

explode関数用いて配列を作ってfor文で出力するのもアリかなと思ったり。

③N個のデータの入力 (paizaランク D 相当)

以下が問題のリンクです。詳細はこちらでご確認ください。

https://paiza.jp/works/mondai/stdin/stdin_3?language_uid=php

実際に入力される値:
3
aaaaa bbbbbb cccc
期待される出力:
aaaaa
bbbbbb
cccc
解答コード:
<?php
    $n = fgets(STDIN);
    $words = fgets(STDIN);
    $word = explode(" ",$words);
    for($i=0;$i<$n;$i++){
    echo "$word[$i]\n";
    }
?>

出力したい要素の数がn個と変数で取得しなければいけないのでこちらではexplode関数を用いてみました。

※補足※

このあと出題される以下の問題はexplode関数の” “を”,”に変更するだけです!簡単ですね。

カンマ区切りのN個のデータの入力 (paizaランク D 相当)

https://paiza.jp/works/mondai/stdin/stdin_comma_n?language_uid=php

④カンマ区切りの3つのデータの入力 (paizaランク D 相当)

以下が問題のリンクです。詳細はこちらでご確認ください。

https://paiza.jp/works/mondai/stdin/stdin_comma_3?language_uid=php

実際に入力される値:
aaaaa,bbbbbb,cccc
期待される出力:
aaaaa
bbbbbb
cccc
解答コード:
<?php
    $numbers = fgets(STDIN);
    $number = explode(",",$numbers);
    echo "$number[0]\n";
    echo "$number[1]\n";
    echo "$number[2]";
?>

問題見た瞬間にfscanf(STDIN, “%s,%s,%s”,$a,$b,$c);で行けると思ったのですが、なぜかうまくいかず・・・

同じようにコード書いて動作するような記事も見つけたので原因分からず(泣)

一旦explode関数用いて記載しました。

完全に後日修正する用の備忘録です。わかり次第更新します。

(本当はこの問題、記事に記載するつもりなかったのに)

おわりに

引き続きランクBになれるよう頑張ります。

関連リンク

Paiza スキルチェック見本問題(PHP編)まとめ ~ランクC相当~
https://chobimusic.com/paiza_skillcheck_c/

Paiza スキルチェック見本問題(PHP編)まとめ ~ランクD相当~
https://chobimusic.com/paiza_skillcheck_d/

コメントを残す