oniwan111’s blog

学生が少しでも社会の役に立てればいいなと思って始めたブログです

AtCoder Beginner Contest 049 in Python C

C問題解いてみました
正規表現を勉強したので、使ってみます


C.

#import library
import re

#prepare
S = ''
T = ''
regex = r'(dream|dreamer|erase|eraser)+$'

#input
S = raw_input()

#output
if re.match(regex,S):
    print 'YES'
else:
    print 'NO'

以下のサイトから引用します

uxmilk.jp

$ 文字列の末尾

  1. 一回以上の繰り返し
 和集合

() グループ化

これで、
(dream|dreamer|erase|eraser)+$
は、'dream','dreamer','erase','eraser'のどれかを末尾から一回以上繰り返す
ってことになるんだと思います(多分)

なんとかC問題を解けるようになりたい!