チャレンジ
引数として+記号で区切られた1つ以上の主観的な個人代名詞で構成される文字列を取る関数またはプログラムを記述します。出力は、次の段落で定義された関係の結果である単一の代名詞でなければなりません。
もちろん、確実に存在する文法エラーを修正したいので、自由に編集してください;)
これはコードとゴルフのチャレンジなので、最短のコードが優先されます。
関係
このタスクの目標は、私たちが日常的に使用するものを「数学で話す」ものに翻訳することです。「あなたと私」をどう思いますか?さて、「私たち」ですよね?したがって、入力がYou+I
出力である場合、文字列である必要がありますWe
。3つ以上の代名詞を使用すると、次のようになります。-
You+He+They
>You
関係は次の表として定義されます。
I You He We You They
I I We We We We We
You You You We You You
He He We You They
We We We We
You You You
They They
「あなた」の問題
さて、ご覧の通り、私はネイティブスピーカーではありません。私の言語(イタリア語)では、複数形you(イタリア語ではvoi)と単数形you(tu)には違いがあります。この挑戦を考えたとき、私は英語で考えていなかったので、複数形と単数形のどちらを使用しているかを認識できないという問題があります。幸いなことに(または明らかに?)、入力/出力は両方の形式で変わらないので、どちらかを使用すれば両方のケースをカバーできます!
入力について
入力は常に「代名詞+代名詞+代名詞」という形式になります...代名詞の最初の文字は大文字で、残りは小文字になります。プラス記号はスペースで囲まれず、代名詞のみで囲まれます。空の入力が可能であり、結果は空の出力でなければなりません。
ボーナス
プログラムが2つの新しい代名詞:SheとItを管理する場合、15%の小さなボーナス。彼らは明らかに彼と同じです。この関係は再帰的であるため、彼女->彼女とそれ->それ。したがって、She、He、またはItのみを含む組み合わせは、それらを出力する必要があります。
例
You+I -> We
You+He+They -> You
I+You+He+They -> We
They -> They
They+You -> You
You+You+I+You -> We
For Bonus
She -> She
She+He -> They
I+It+He -> We
It+You -> You
I+I=I
1つしか存在できないため、「」を受け取りI
ます。しかし、「He+He=They
」できませんでしたか?一般的にHe
、この構造で" "を2回言う場合、同じものを2回ではなく、2つの異なる男性の対象を指しています。