题目描述
给定一个字符串来代表一个学生的出勤记录,这个记录仅包含以下三个字符:
- ‘A’ : Absent,缺勤
- ‘L’ : Late,迟到
- ‘P’ : Present,到场
如果一个学生的出勤记录中不超过一个’A’(缺勤)并且不超过两个连续的’L’(迟到),那么这个学生会被奖赏。
请需要根据这个学生的出勤记录判断他是否会被奖赏。
示例
输入: “PPALLP”
输出: True
输入: “PPALLL”
输出: False
解答
class Solution(object):
def checkRecord(self, s):
"""
:type s: str
:rtype: bool
"""
length = len(s)
count_a = 0 # 记录缺勤数
count_l = 0 # 记录迟到数
i = 0
while i < length:
# 判断缺勤
if s[i]=="A":
count_a += 1
if count_a>1:
return False
# 判断迟到
if s[i]=="L":
count_l += 1
if count_l>2:
return False
# 不是连续的L,count_l置0
else:
count_l = 0
i += 1
return True