私はスペースに対する憎しみの高まりに不安になりました。この答えは、この暗示的な空白の除去からモールス信号が安全であることを確認するきっかけとなりました。
したがって、あなたの仕事は、モールス信号をすべてのスペースを削除して正常に翻訳できるプログラムを作成することです。
ルール:
入力は、ダッシュとドット(ASCII 2Dおよび2E)のみで構成される文字列になります。他の文字を含む入力の出力は未定義です。入力(stdin、テキストファイル、プロンプトユーザーなど)を受け取るために、選択した言語に都合のよい方法を自由に使用してください。モールス信号入力はA〜Zの文字のみで構成され、一致する数字や句読点は必要ないと想定できます。
出力には、この辞書ファイルに含まれる単語のみが含まれている必要があります(ここでも、辞書ファイルにアクセスするための便利な方法を自由に使用してください)。有効なデコードはすべて標準出力に出力する必要があり、入力内のすべてのドットとダッシュを使用する必要があります。出力内の一致した各単語はスペースで区切る必要があり、可能なデコードはそれぞれ改行で区切る必要があります。大文字、小文字、または大文字と小文字が混在する出力を便利に使用できます。
上記の1つの例外を除き、標準の抜け穴に対するすべての制限が適用されます。本当に必要な場合は、インターネット接続経由で要件2で参照されている辞書ファイルにアクセスできます。URLの短縮は許容されますが、goo.gl / 46I35Zが最短になると思われます。
これはコードゴルフで、最短のコードが勝ちます。
注: Pastebinに辞書ファイルを投稿すると、すべての行末がWindowsスタイル0A 0Eシーケンスに変更されました。プログラムは、0Aのみ、0Eのみ、または0A 0Eの行末を想定できます。
テストケース:
入力:
......-...-..---.-----.-..-...- ..
出力には以下を含める必要があります。
こんにちは世界
入力:
.--..-.-----..-..-----..-.--..--...---..--...-.... ...--....-.-.----...--..---.-....-。
出力には以下を含める必要があります。
プログラミングパズルとコードゴルフ
入力:
-.....--....-..-......--....-.---..---...-.----..-.- --..---.--....---...-..-.-......-...---....---..-- ---。
出力には以下を含める必要があります。
速い茶色のキツネが怠zyな犬を飛び越える
AN (.- -.)
をどのように見分けることができますEG (. --.)
か?