Please sign in first.
Official
C - XX反転/XX reverse Editorial
by
C - XX反転/XX reverse Editorial
by
sounansya
この解説では 0-indexed 、つまり \(S\) の先頭を \(0\) 文字目として数えます。
\(2\) つの X のインデックスをそれぞれ \(x,y\) とします。
このとき、出力する文字列は以下の \(3\) つの文字列を連結したものになります:
- \(S\) の \(0\) 文字目から \(x-1\) 文字目までを取り出した文字列
- \(S\) の \(x+1\) 文字目から \(y-1\) 文字目までを反転させた文字列
- \(S\) の \(y+1\) 文字目から \(|S|-1\) 文字目までを取り出した文字列
文字列の反転は Python であればスライスを用いると簡単に演算することができます。詳しくは実装例を参考にしてください。
実装例(Python3)
s = input()
x = []
for i in range(len(s)):
if s[i] == "X":
x.append(i)
assert len(x) == 2
print(s[: x[0]] + s[x[1] - 1 : x[0] : -1] + s[x[1] + 1 :])
posted:
last update:
