Problem A. Speaking in Tongues 解き方
コンテストで提出したコードは ここ からダウンロードできます(Python)。
あと このへん。移動してたら探してください。
問題紹介はこちら。
以下ネタバレ
まず問題文の Sample から変換の対応表を作ります。
Googlerese の “ejp mysljylc kd kxveddknmc re jsicpdrysi” が
英文の “our language is impossible to understand” になるので
“e”→“o”、“j”→“u”、“p”→“r” … という具合。
ところがこうして対応表を作るだけでは “z” と “q” の対応が決まりません。これに気付かなくて2回 incorrect しましたorz
A letter may be replaced by itself. なので自身に変換する場合もありえます。
問題文をよく読むと For example (and here is a hint!) があり、ここで英文 “q” が Googlerese “z” に対応することがわかります。そうすると1対1対応により残った “z”→“q” の対応も決まります。
あとは入力を1文字ずつ変換して出力するだけです。
Pythonには string.translate() という変換関数がありますが、、table を作る手間を考えると辞書を使った変換の方が手っ取り早い気が(^^ゞ
0 件のコメント:
コメントを投稿