

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";
}
?>