Yj
みなさんこんにちは!!問題解けたらドンドン載せていきます☺️
では早速解答をご覧ください。
目次
STEP: 1 整数と文字列
下記の問題はmb_strlen( )関数を使いました。こちら参考にしました。
<?php $n = trim(fgets(STDIN)); for($i=0; $i<$n; $i++){ $a = trim(fgets(STDIN)); $numlength = mb_strlen($a); echo $numlength . "\n"; } ?>
STEP: 2 部分文字列
下記の問題はstrpos( )関数を使いました。こちら参考にしました。
<?php $a = trim(fgets(STDIN)); $s = trim(fgets(STDIN)); if(strpos($s,$a) !== false){ //$sの文字のなかに$aの文字列が含まれている場合 echo "YES\n"; }else{ //そうでない場合 echo "NO\n"; } ?>
STEP: 3 数字の文字列操作(基本)
下記の問題はstr_split( )関数を使いました。こちら参考にしました。
<?php $s = trim(fgets(STDIN)); $s = str_split($s); $a = $s[0] + $s[3]; $b = $s[1] + $s[2]; echo $a . $b . "\n"; ?>
STEP: 4 数字の文字列操作(0埋め)
下記の問題はstr_split( )関数を使いました。こちら参考にしました。
<?php $n = trim(fgets(STDIN)); echo str_pad($n, 3, '0', STR_PAD_LEFT); // 001 ?>
STEP: 5 数字の文字列操作(時刻1)
下記の問題は(int)を使いました。こちら参考にしました。
<?php $s = trim(fgets(STDIN)); $time = explode(":", $s); echo (int)$time[0] . "\n"; echo (int)$time[1] . "\n"; ?>
STEP: 6 数字の文字列操作(時刻2)
下記の問題はstrtotime()とdate()を使いました。こちら参考にしました。
<?php $s = trim(fgets(STDIN)); $tmp = strtotime('+30 minute' , strtotime($s)); $time = date('H:i',$tmp); echo $time; ?>
FINAL問題 文字列
<?php $n = trim(fgets(STDIN));//何週続くか for($i=0; $i<$n; $i++){ list($time, $h, $m) = explode(" ", trim(fgets(STDIN)));//始まる時刻、プラス時間、プラス分 $tmp = strtotime($m.'min' . $h.'hour', strtotime($time)); $time2 = date('H:i',$tmp); echo $time2 . "\n"; } ?>