paizaオンラインハッカソンVol.8「恋するハッカソン〜君色に染まるアイドル〜」の水着に苦戦

もっと短く書けるようにならねばと自省しつつ、

長ったらしい分わかりやすいかもしれない私のPHPでのコードを以下に掲載いたします。

<?php
$input = explode(' ', trim(fgets(STDIN)));
$old_str_len = $input[0];
$new_str_len = $input[1];

$old_str = trim(fgets(STDIN));
$new_str = trim(fgets(STDIN));

$old_str_chars = str_split($old_str);
$new_str_chars = str_split($new_str);

$order_count = 0;
$checked_old_char_memo = array();
$checked_new_char_memo = array();

foreach ($old_str_chars as $char) {
  if (isset($checked_old_char_memo[$char])) {
    $checked_old_char_memo[$char]++;
  } else {
    $checked_old_char_memo[$char] = 1;
  }
}

foreach ($new_str_chars as $char) {
  if (isset($checked_new_char_memo[$char])) {
    $checked_new_char_memo[$char]++;
  } else {
    $checked_new_char_memo[$char] = 1;
  }
}

foreach ($checked_new_char_memo as $char => $count) {
  if (!array_key_exists($char, $checked_old_char_memo)) {
    $order_count += $count;
  } elseif (array_key_exists($char, $checked_old_char_memo) && $checked_old_char_memo[$char] - $count < 0) {
    $order_count += $count - $checked_old_char_memo[$char];
  }
}

echo $order_count."\n";

LINEで送る
Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*