Wyzwanie
Napisz funkcję lub program, który jako argument przyjmuje ciąg złożony z jednego lub więcej subiektywnych zaimków osobowych , oddzielonych znakami + . Wynikiem musi być pojedynczy zaimek, który jest wynikiem relacji zdefiniowanej w następnym akapicie.
Oczywiście możesz edytować, ponieważ chcesz poprawić błędy gramatyczne, które z pewnością są obecne;)
To wyzwanie dla golfa, więc wygrywa najkrótszy kod.
Relacja
Celem tego zadania jest przetłumaczenie w języku „matematyki” czegoś, z czego korzystamy na co dzień. Jak myślimy o „Ty i ja”? „My”, prawda? Tak więc, jeśli wejście jest You+I
wyjściem, powinien to być ciąg We
. Przy więcej niż dwóch zaimkach powinno to wyglądać następująco:
You+He+They
->You
Relacja jest zdefiniowana jako następująca tabela:
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
Problem „Ty”
Jak widać, nie jestem rodzimym językiem angielskim. W moim języku (włoskim) istnieje różnica między liczbą mnogą you ( voi , po włosku) a liczbą pojedynczą you ( tu ). Kiedy myślałem o tym wyzwaniu, nie myślałem po angielsku, więc jest problem, którego nie można rozpoznać, jeśli używam liczby mnogiej lub pojedynczej. Na szczęście (lub oczywiście?) Wejście / wyjście nie zmienia się w obu formach, więc możesz użyć jednego z nich i obejmiesz oba przypadki!
O wejściu
Dane wejściowe zawsze będą miały postać „Zaimek + zaimek + zaimek” ... Zaimki będą miały pierwszą literę dużymi literami, a pozostałe małe. Plusy nie będą otoczone spacjami, tylko zaimkami. Możliwe jest puste wejście i wynik musi być pusty.
Premia
Mała premia w wysokości 15%, jeśli program będzie zarządzał dwoma nowymi zaimkami: Ona i To . Są oczywiście takie same jak On. Pamiętaj, że ta relacja jest zwrotna, więc Ona -> Ona i To -> To. Dlatego każda kombinacja, która obejmuje tylko Ona, On lub To, powinna dać je.
Przykłady
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
”, ponieważ I
z danego głośnika może być tylko jeden „ ”. Ale nie mógł „ He+He=They
”? Zasadniczo, jeśli powiesz „ He
” dwa razy w tej konstrukcji, masz na myśli dwa różne tematy mężczyzn, a nie ten sam dwa razy.