NISHIO Hirokazu[Translate]
PAST2J

PAST2J
括弧で囲われた範囲を処理する関数を使って再帰呼び出しすれば良い
文字列を直接編集するのではなく添え字でアクセスする
AC
python
def solve(S): N = len(S) cur = 0 ret = [] def parse_palen(): nonlocal cur cur += 1 ret = [] while cur < N: c = S[cur] if c == ")": s = "".join(ret) s2 = "".join(reversed(s)) return s + s2 elif c == "(": ret.append(parse_palen()) else: ret.append(c) cur += 1 while cur < N: c = S[cur] if c == "(": ret.append(parse_palen()) else: ret.append(c) cur += 1 return "".join(ret)

9min

"Engineer's way of creating knowledge" the English version of my book is now available on [Engineer's way of creating knowledge]

(C)NISHIO Hirokazu / Converted from [Scrapbox] at [Edit]