このページについて

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

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

挑戦する課題

レベルアップ問題集文字列処理メニューから「表記の訂正 (paizaランク C 相当)」を取り上げます。

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

問題

paiza 研究所では実験データをわかりやすい形式で保存したいのですが、
機械によって得られる数値には、次のような表記ミスがあることがわかっています。

  • ミス 1
    先頭に必要のない 0 がいくつかついてしまう

    • 本来 1 である数値が 0001 と表記されてしまう
    • 本来 0.001 である数値が 00.001 と表記されてしまう
  • ミス 2
    小数である数値の末尾に必要のない 0 がいくつかついてしまう

    • 本来 0.1 である数値が 0.10 と表記されてしまう
  • ミス 3
    小数である数値に小数点が複数個ついてしまう
    ただし、 1 つめの小数点の位置がが正しい小数点の位置であるものとします

    • 本来 0.123 である数値が 0.1.2.3 と表記されてしまう。

表記が正しくない可能性のある数値を表す文字列 S が与えられるので、その数値を正しい表記にしてください。
S を数値として扱うと上手く処理が行えないので気をつけてください。

入力される値

  •  文字列 S が 1 行で与えられます。

期待する出力

S を正しい表記にしたものを 1 行で出力してください。

条件

  •  1 ≦ | S| ≦ 10000 ( | S| は、 S の文字数です。)
  • ミス 2 , 3 は小数の場合のみ起こる
  • 答えが .0 の形式になるような値は与えられません
  • S0 以上の数値を表す文字列

考え方

執筆中。

解答例