日本語のローマ字化は、日本語のテキストをラテン文字に変換しています。このチャレンジでは、入力として日本語の文字列が与えられ、それらを正しいASCII文字列に変換することが期待されます。
知っておくべきこと
日本語には、ひらがな(短い単語に使用される曲線のある文字)、カタカナ(他の言語から借用した音や単語に使用される角度のある文字)、および漢字(元々は中国語に由来する密集した文字)の3つの表記体系があります。この課題では、ひらがなだけを心配します。
ひらがなの五十音には46文字あります。各文字は音節を表します。キャラクターは、最初の音(子音)と2番目の音(母音)で構成されています。順序の列はaiueoです。
: あいうえお
k: かきくけこ
s: さしすせそ
t: たちつてと
n: なにぬねの
h: はひふへほ
m: まみむめも
y: や ゆ よ
r: らりるれろ
w: わ を
N: ん
(この表をコピーして貼り付ける場合、表意文字スペースU + 3000を使用してyとwの間隔を空けていることに注意してください)
したがって、たとえば、あとめはの出力を生成する必要がありますatome。最初の文字はa、2番目はto、3番目はmeです。
例外
他の優れた言語と同様に、日本語にはその規則の例外があり、ひらがなの表にはいくつかの例外があります。これらの文字の発音は、表内の位置が意味するものとはわずかに異なります。
し:shi、not si
ち:chi、ti
nottsu:tsu、not tu
ふ:fu、nothu
濁天゛
「濁」という言葉は「泥だらけのマーク」を意味します:濁点は、音声を(通常)有声音に変換します。たとえば、kaかはか゛に変わりgaます。変更の完全なリスト:
k→ g
s→ z
t→ d
h→b
例外も変わります:しゅ:(jiまたはzhi)、not zi
ち゛:ji、di
nottsu゛:dzu、ないdu
(ぶは期待どおりに動作します;それは例外ではありません)
ハンダクテンは、行に適用される追加文字゜ですh。キャラクターの後に置かれた場合、キャラクターのサウンドをpでなくに変更しbます。
濁点と半濁点の両方が個別のキャラクターとして与えられます。事前に構成されたフォームや結合文字を扱う必要はありません。
小さいキャラクター
最後に、いくつかのキャラクターの小さなバージョンがあります。それらは、それらの前後の文字を変更します。
ゃゅょ
これらは、少量の形態であるya、yuとyo。それらは- i列の音の後にのみ配置されます。削除し、iサウンドを追加します。だから、きやはkiya; きゃがになりkyaます。
chiまたはshi(またはそれらの濁点付きの形式)の後に置かれた場合、yも削除されます。しゆはshiyu; しゅですshu。
最後に対処しなければならないことは小さいことtsuです。っは、その後に続く子音を2倍にします。それ以外は何もしません。例えば、きたですkita。きったはkittaです。
要約、入力、および出力
プログラムは、46の基本的なひらがな、濁点と半濁点、および小さな文字との組み合わせを音訳できる必要があります。
未定義の動作が含まれています:小型ya、yuとyoいないと文字の後にi小さな、tsu文字列の最後に、非上handakuten影響を受けていない文字、上濁点p文字、そして何か他のものは、上記のスペック/冒頭で言及されていません。
すべての入力が有効で、上記の日本語文字のみが含まれていると想定できます。
出力では大文字と小文字は区別されません。あなたも交換することができるrとともにl、または単独nでm。出力では、すべての音節の間にスペースを1つ入れることも、スペースをまったく入れないこともできます。
これはcode-golfです。バイト単位の最短コードが優先されます。
テストケース
個々の部品の多くのテストケースが仕様に記載されています。いくつかの追加のケース:
ひらか゛な→ hiragana
かたかな→ katakana
た゛いき゛ゃくてんさいは゛ん→ daigyakutensaiban
ふ゜ろく゛らみんく゛は゜す゛るこうと゛こ゛るふ→ puroguramingupazurucoudogorufu
か゛んほ゛って→ ganbatte
ノート
ここで書いたこと以外、日本語はあまり知りません。間違いを犯した場合はお知らせください。
私はもともとカタカナも含めることを計画していました(そのため、英語の音訳テストケースが少し正確になる可能性があります)が、それはコードゴルフチャレンジには多すぎます。
Unicode名には、各文字の音訳が個別に含まれますが、例外はありません。これはあなたにとって役に立つかもしれませんし、そうでないかもしれません。
2つのタイプミスを修正してくれたsqueamishossifrageに感謝します!
これが長すぎる場合は申し訳ありません。ひらがなの癖のほとんどを課題に当てはめようとしましたが、課題を管理しやすくするために、いくつかのこと(小さな母音のみのひらがな、子音の前でnをmに変更、繰り返しマークなど)をカットする必要がありました。
タイトルについては、すみません。それは傑作です。
っしことsshiかshshi?
I'm not at all sorry for the title. It's a masterpiece.ダウン投票
きっったですか?