備忘録

Paiza CランクレベルアップメニューPHP『文字列』編 解答。

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( )関数を使いました。こちら参考にしました。

文字を1つずつ出力

<?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で数字を0埋めして桁を揃える

<?php

  $n = trim(fgets(STDIN));
    echo str_pad($n, 3, '0', STR_PAD_LEFT);
    // 001

?>

STEP: 5 数字の文字列操作(時刻1)

下記の問題は(int)を使いました。こちら参考にしました。

[PHP] 数値の先頭の0を取る4つの方法と速度

<?php

    $s = trim(fgets(STDIN));
    $time = explode(":", $s);
    echo (int)$time[0] . "\n";
    echo (int)$time[1] . "\n";

?>

STEP: 6 数字の文字列操作(時刻2)

下記の問題はstrtotime()とdate()を使いました。こちら参考にしました。

PHPで日付関数を使いこなす(date, strtotime)

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

?>

-備忘録

© 2024 Yj Blog Powered by AFFINGER5