Official
C - String Delimiter Editorial by nok0
左から順に括られた文字かを判定し、括られた文字でなくかつ ,
ならば .
で置き換えるという操作が行えればよいです。
括られた文字であるかの判定ですが、括られた文字であることの同値な条件として、例えばその文字の左に “
が奇数個存在するという条件があります。この条件を用いると、線形時間での解法が得られます。実装例もご確認ください。
実装例(Python):
n = int(input())
s = list(input())
lef_even = True
for i in range(n):
if lef_even and s[i] == ",":
s[i] = "."
if s[i] == '"':
lef_even = not lef_even
print("".join(s))
posted:
last update: