Wyzwanie polega na przeanalizowaniu łańcucha, podobnie jak Python, i wydrukowaniu jego zawartości.
- Dane wejściowe (argument wiersza polecenia lub standardowe wejście) : literał ciągu (np.
"hello") (Lub wiele literałów, patrz konkatenacja literału ciągu poniżej) - Dane wyjściowe (standardowe wyjście) : zawartość ciągu (np.
hello)
Zasady parsowania łańcucha:
- Dosłowny ciąg jest ujęty w pasujące pary pojedynczych cudzysłowów (
'a'), podwójnych cudzysłowów ("a"), potrójnych pojedynczych cudzysłowów ('''a''') lub potrójnych podwójnych cudzysłowów ("""a"""). Pierwszy powtórzenie typu cudzysłowów, które otworzyły łańcuch, kończy łańcuch. - Odwrotny ukośnik ucieka:
\'w ciągu staje się',\"staje się"i\\staje\. Nie musisz implementować żadnych innych znaków ucieczki odwrotnego ukośnika. Ukośnik odwrotny, który nie jest częścią sekwencji ucieczki, pozostaje ukośnikiem odwrotnym. - Łączenie literałów łańcuchowych: zawartość sąsiadujących literałów łańcuchowych jest łączona. Na przykład
"hello" 'world'staje sięhelloworld. - Dane wejściowe mogą zawierać spacje, które nie są częścią żadnego literału.
- Nie musisz obsługiwać żadnych innych białych znaków, ani w literałach, ani poza nimi.
Dodatkowe zasady:
eval,execi podobne rzeczy nie są parsowane przy analizie literału lub jego części.- Możesz założyć, że dane wejściowe są prawidłowe.
- Możesz założyć, że maksymalna długość wejściowa wynosi 1023 znaki.
Przykłady:
"hello" ' world'->hello world"""\"""'\\\A"""->"""'\\A( '''"""'''"""'''""" )(bez nawiasów, ale ze spacjami) ->"""'''
Najkrótszy kod wygrywa.