文字のみで構成される1行を指定して、次のように処理します。
- 最初は空の文字列を維持します。
- 次の入力文字が文字列にある場合は、文字列から削除します。
- 次の入力文字が文字列にない場合は、文字列に追加します。
文字列の最終状態を出力します。
入力が少なくとも1文字(空でない)で構成されていると安全に想定できますが、出力が空でないという保証はありません。
擬似コード(これを自由にゴルフしてください):
str = EMPTY
for each character ch in input
if ch exists in str
remove all ch from str
else
append ch to str
print str
入力は正規表現と一致します^[A-Za-z]+$
。
サンプルテストケース:
ABCDBCCBE -> ADCBE
ABCXYZCABXAYZ -> A
aAABBbAbbB -> aAbB
GG -> (empty)
入力は任意の適切な方法で指定できますが、文字列として処理する必要があり、出力についても同じである必要があります。プログラムはエラーで終了しません。
各言語の最短プログラムが勝ちます!
追加(オプション):プログラムの仕組みを説明してください。ありがとうございました。