C - String Delimiter Editorial by math_hiyoko

ライブラリを使った実装(Python)

“を区切り文字としてSを分割したリストを考えます。
このリストの1, 3, 5, …個目の要素について, を.に置き換える操作を行い、再び”で結合すれば求める解を得ることができます。
入力例1の”a,b”c,dについて実際に操作を見てみます。
“a,b”c,d \(\cdots\) 元の文字列
→ [ ‘ ’ , ‘a,b’, ‘c, d’] \(\cdots\) 区切り文字で分割したリスト
→ [ ‘ ’ , ‘a,b’, ‘c. d’] \(\cdots\) 1, 3, 5, …個目の要素について, を.に置き換える操作
→ “a,b”c.d \(\cdots\) 区切り文字で再び結合した文字列
Pythonでは、上記の操作を簡単に行える関数が用意されています。

import sys
import numpy as np


# 入力
N, S = sys.stdin.readlines()

# Sを区切り文字で分割したリストseparatedを作る
separated = S.split(sep='\"')
# separatedの偶数個目(0-index)の要素について置き換えを行う
separated[::2] = np.char.replace(separated[::2], ',', '.')
# 置き換えられたリストを区切り文字で連結
answer = '\"'.join(separated)

print(answer)

提出

posted:
last update: