Zostało to zainspirowane funkcją, którą niedawno dodałem do mojego języka Add ++ . Dlatego prześlę krótką odpowiedź w Add ++, ale nie zaakceptuję jej, jeśli wygra (to niesprawiedliwe)
Czy nie nienawidzisz, gdy możesz pomnożyć liczby, ale nie łańcuchy? Więc powinieneś to poprawić, prawda?
Masz napisać funkcję lub pełny program, który pobiera dwa niepuste ciągi jako dane wejściowe i wyjściowe ich zwielokrotnionej wersji.
Jak pomnożyć ciągi? Powiem ci!
Aby pomnożyć dwa ciągi, bierzesz dwa ciągi i porównujesz każdy znak. Znak o najwyższym punkcie kodowym jest następnie dodawany do wyniku. Jeśli są równe, po prostu dodaj znak do wyniku.
Ciągi nie mają zagwarantowanej równej długości. Jeśli długości są różne, długość końcowego ciągu jest długością najkrótszego ciągu. Dane wejściowe zawsze będą 0x20 - 0x7E
pisane małymi literami i mogą zawierać dowolny znak w drukowanym zakresie ASCII ( ), z wyjątkiem wielkich liter.
Możesz generować dane w dowolnym rozsądnym formacie, takim jak łańcuch, lista itp. Bądź rozsądny, liczby całkowite nie są rozsądnym sposobem na wyjście w tym wyzwaniu.
Przy wejściach hello,
i world!
tak to działa
hello,
world!
w > h so "w" is added ("w")
o > e so "o" is added ("wo")
r > l so "r" is added ("wor")
l = l so "l" is added ("worl")
d < o so "o" is added ("worlo")
! < , so "," is added ("worlo,")
Tak więc końcowy wynik hello,
i world!
byłby worlo,
!
Więcej przypadków testowych
(bez kroków)
input1
input2 => output
programming puzzles & code golf!?
not yet graduated, needs a rehaul => prtgyetmirgduuzzlesneedsde rolful
king
object => oing
blended
bold => boln
lab0ur win.
the "super bowl" => the0usuwir.
donald j.
trumfefe! => trumlefj.
To jest golf golfowy, więc wygrywa najkrótszy kod! Luok!