# Question

You are given a string s representing an attendance record for a student where each character signifies whether the student was absent, late, or present on that day. The record only contains the following three characters:

• 'A': Absent.
• 'L': Late.
• 'P': Present. The student is eligible for an attendance award if they meet both of the following criteria:

• The student was absent ('A') for strictly fewer than 2 days total.

• The student was never late ('L') for 3 or more consecutive days.

Return true if the student is eligible for an attendance award, or false otherwise.

# Examples

Example 1:

Input: s = "PPALLP"
Output: true
Explanation: The student has fewer than 2 absences and was never late 3 or more consecutive days.


Example 2:

Input: s = "PPALLL"
Output: false
Explanation: The student was late 3 consecutive days in the last 3 days, so is not eligible for the award.


# Constraints

• 1 <= s.length <= 1000
• s[i] is either 'A', 'L', or 'P'.

# Solutions

class Solution {
public boolean checkRecord(String s) {
int absent = 0;
int late = 0;

for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == 'A') {
absent++;
}
if (i > 0 && s.charAt(i - 1) != 'L') {
late = 0;
}
if (s.charAt(i) == 'L') {
late++;
}
if (absent >= 2 || late >= 3) {
return false;
}
}
return true;
}
}


class Solution {
public boolean checkRecord(String s) {
return !s.contains("LLL") && s.indexOf("A") == s.lastIndexOf("A");
}
}

Copyright © rootwhois.cn 2021-2022 all right reserved，powered by GitbookFile Modify: 2022-11-26 20:03:31