このページについて

このページは、paiza ラーニング内に開設されているコンテンツ「レベルアップ問題集」で取り扱われているプログラミング課題について、独自の見解を述べたものです。

見解については、paizaラーニングの規約に基づき、許可されている範囲でのみ公開していますが、その内容については paiza とは一切関係なく、また paiza の立場を反映したものではありませんのでご注意ください。

挑戦する課題

レベルアップ問題集文字列処理メニューから「日時データの変換その2 (paizaランク C 相当)」を取り上げます。

以下は、問題公開 Web ページからの引用です。

入力される値

  • 日時を表す文字列が 1 行で与えられます。
  • yyyy は 4 桁で西暦年を表します。 4 桁未満の場合の上位桁は 0 となります。例) 0734, 0021
  • MM は 2 桁で月を表します。2 桁未満の場合の上位桁は 0 となります。例) 09
  • dd は 2 桁で日にちを表します。2 桁未満の場合の上位桁は 0 となります。例) 02
  • hh は 2 桁で時を表します。2 桁未満の場合の上位桁は 0 となります。例) 07
  • mm は 2 桁で分を表します。2 桁未満の場合の上位桁は 0 となります。例) 01

期待する出力

5 行で年・月・日・時・分を順に出力してください。

考え方

基本的には過去問と同じ考え方である。

文字列の分割 (paizaランク C 相当)

ただし、今回の場合はさらに区切り文字が増えているので、このような場合は split(whereSeparator:) を使った方が確実でむしろ明快な記述となる。

解答例