問題一覧 > 通常問題

No.1469 programing

レベル : / 実行時間制限 : 1ケース 3.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 277
作問者 : harurunharurun / テスター : hamamuhamamu nok0nok0
4 ProblemId : 6220 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2021-04-04 16:27:21

問題文

harurun は英語が苦手で、 programming を programing と書いてしまいます。

このように、 $2$ つの連続する同じ文字を $1$ つの文字にしてしまう書き方を $harurun$ 記法と呼ぶことにします。

文字列 $S$ が $1$ つ与えられるので、 $harurun$ 記法で出力してください。

ただし、 $3$ つ以上同じ文字が連続する文字列が与えられることはありません。


厳密な問題文は以下の通りです。

文字列 $S$ が与えられます。

以下の操作を、可能な限り行ったあとの文字列 $S$ を出力してください。

  • 隣り合う $2$ 文字が同じとき、片方を削除する。

ただし、 abbb のような、$3$ つ以上同じ文字が連続する文字列は与えられません。


(Python3,PyPy3,C,C++17(1z),Java15,Javascript,RustでのACを確認していますが、Bashなどの低速な言語ではACできない可能性があります。)

入力

$S$

$1$ 行目に文字列 $S$ が与えられる。

制約

  • $S_i (1≤i≤|S|)$ は英小文字である。

  • $1≤|S|≤5\times10^6$

  • $S_i$ と $S_{i+1}$ が同じ文字のとき、$S_{i+1}$ と $S_{i+2}$ は異なる文字である。$(1≤i<|S|-1)$

  • ($S_{i}$ は $S$ の $i$ 文字目を表す。また、 $|S|$ は $S$ の長さを表す。)

出力

答えを一行に出力してください。

最後に改行してください。

サンプル

サンプル1
入力
programming
出力
programing

連続する m を1つ削除するだけです。

サンプル2
入力
aabbccb
出力
abcb

実在しない英単語が与えられることもあります。

サンプル3
入力
abcdefghijklmnopqrstuvwxyz
出力
abcdefghijklmnopqrstuvwxyz

何も削除しないこともあります。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。