ストリングを逆にする!

あなたの仕事:ASCII文字だけを含む文字列が与えられたとき、その文字列を逆順に出力/返すプログラム/関数を書く。

例:

1)入力

Hello, World!

2)入力中の一意の文字の数。 (可読性のためにパイプで区切られた入力文字列( | ))

H|e|l|l|o|,| |W|o|r|l|d|!
1 2 3   4 5 6 7   8   9 10

3)重複文字については、その文字の最初の出現箇所を見つけ、重複する文字には最初の出現箇所と同じ番号を付けます。

H|e|l|l|o|,| |W|o|r|l|d|!
1 2 3 3 4 5 6 7 4 8 3 9 10

4)文字列を逆転させますが、数字は逆転させないでください。

!|d|l|r|o|W| |,|o|l|l|e|H
1 2 3 3 4 5 6 7 4 8 3 9 10

5)リピート数以上の文字を削除します。 (削除された文字はアスタリスクで表されます)

!|d|l|*|o|W| |,|*|l|*|e|H
1 2 3 3 4 5 6 7 4 8 3 9 10

6)削除された文字を、削除された文字が最初に出現した文字に置き換えます。

!|d|l|l|o|W| |,|o|l|l|e|H
1 2 3 3 4 5 6 7 4 8 3 9 10

7)出力

!dlloW ,olleH

テストケース:

Input -> Output
"Hello, World!" -> "!dlloW ,olleH"
"18464399" -> "99343488"
"Code Golf" -> "floG eloC"
"abcdefgABCDEFG" -> "GFEDCBAgfedcba"
"Mmm, marshmallows" -> "swwllwmhsrwm  mms"
"15147" -> "74751"
ベストアンサー

Pyth, 1 byte

X

Verify all the test cases.

Pythには素晴らしい組み込み機能があります:-)


Pyth,  8  7 bytes

[email protected]_QxQ

Verify all the test cases.

使い方

これは、より面白い非組み込みのアプローチです。

[email protected]_QxQ  - Full program.

 m       - Map over the input.
  @_Q    - Get the index in the reversed input.
     xQ  - Of the first index of each character in the String.
s        - Join the list.

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です