Konwencje nazewnictwa gier z serii Super Mario są bardzo dziwne i nie pasują do siebie między regionami.
| Japanese Name | American Name |
|---------------------|------------------------------------|
| Super Mario Bros. | Super Mario Bros. |
| Super Mario Bros. 2 | Super Mario Bros.: The Lost Levels |
| Super Mario USA | Super Mario Bros. 2 |
| Super Mario Bros. 3 | Super Mario Bros. 3 |
| Super Mario Bros. 4 | Super Mario World |
Co za bałagan!
Wyzwanie:
Biorąc pod uwagę ciąg znaków składający się z japońskiej nazwy gry Super Mario, wypisz odpowiednią amerykańską nazwę. Możesz wprowadzić ciąg japoński za pomocą dowolnej rozsądnej metody, a wypuścić ciąg amerykański (z opcjonalnym znakiem nowej linii) dowolną rozsądną metodą.
Musisz użyć dokładnych ciągów pokazanych powyżej. Standardowe luki są zabronione!
Najkrótszy kod (w bajtach) jest zwycięzcą.
code-golf
string
kolmogorov-complexity
game
Julian Lachniet
źródło
źródło
Odpowiedzi:
sed, 52
Prosta wymiana:
Wypróbuj online .
źródło
s/B.*4/World/
.Retina, 43
Bezpośredni port mojej odpowiedzi sed :
Wypróbuj online .
źródło
B.*4
zamiast\S* 4
.JavaScript (ES6),
8281 bajtówWypróbuj online!
W jaki sposób?
źródło
PHP, 81 bajtów
Wypróbuj online!
źródło
JavaScript (ES6), 84 bajtów
Pokaż fragment kodu
źródło
[r='replace']
lewę.[]
praca jako funkcja?object.property
lubobject['property']
. 2) Metoda obiektu to właściwość, której przypisano funkcję. 3) Pod maską JS na krótko zamienia prymitywny typ, taki jak łańcuch, w obiekt, gdy używana jest w nim składnia dostępu do właściwości . Wniosek: łącząc wszystkie powyższe, możemy zrozumieć, dlaczegos['replace']()
robi dokładnie to, co mówi na puszce.Python 2 ,
9692 bajtówWypróbuj online!
źródło
Japt , 48 bajtów
Wypróbuj online!
Wyjaśnienie:
Japt używa biblioteki shoco do kompresji ciągów. Wsteczne są używane do dekompresji ciągów.
źródło
R, 86 bajtów
źródło
Galaretka ,
4443 bajtówPełny program, który drukuje wynik.
Wypróbuj online!
W jaki sposób?
źródło
Mathematica, 80 bajtów
Funkcja anonimowa. Pobiera ciąg jako dane wejściowe i zwraca ciąg jako dane wyjściowe.
źródło
Python 3: 111 bajtów
Pobiera dane wejściowe użytkownika, uruchamia serię podstawień opartych na wyrażeniach regularnych i drukuje wynik.
źródło
from re import*
zamiastfrom re import sub as r
. Wtedy druga linia miałabyprint(sub(" USA","Bros. 2",sub(" 2",": The Lost Levels",sub("Bros. 4","World",input()))))
Idź , 134 bajty
Wypróbuj online!
Ponieważ Go nie obsługuje domyślnych wartości argumentów, musisz ręcznie przekazać za
1
każdym razem.źródło
Partia,
23799 bajtówZakładając, że dane wejściowe są dokładnie sformatowane w pytaniu
źródło
Pascal (FPC) ,
184182 bajtówWypróbuj online!
Wyjaśnienie:
z
to tablica, która zawiera 5 możliwych wyników, musimy tylko znaleźć sposób na indeksowanie do niej. Zauważyłem 2 parametry, których można użyć do rozróżnienia danych wejściowych. Pierwsza część to długość danych wejściowych:Tylko 3 wejścia mają tę samą długość mod 5. Drugą częścią jest to, że w pozycji 19 na wejściach
2
,3
i4
posiadają kolejne punkty kodu, dzięki czemu można je łatwo stosować do wypełnienia reszty indeksów a pozostałe są 2 wejścia krótszy.W
String
domyślnie typ doShortString
i domyślnie ma zdolności do 255 znaków, wszystko zainicjowany zerami, więc jest bezpieczny w użyciut[19]
na wszystkich strunach, a jej punkt kodowy jest 0 krótsze ciągi, nie zmieniając niczego dla indeksowania, więc indeksy krótszy Strings' oznaczają 0 i 2. W związku z tym, musimy indeksach 1, 3 i 4, z2
,3
a4
.źródło
05AB1E , 37 bajtów
Wypróbuj online lub sprawdź wszystkie przypadki testowe.
Wyjaśnienie:
Zobacz więcej informacji dlaczego
“:€€‹×Œä“
jest": the lower levels"
;'„À
jest"usa"
; i'‚ï
jest"world"
.źródło