LeetCode-in-Java

551. Student Attendance Record I

Easy

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:

The student is eligible for an attendance award if they meet both of the following criteria:

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

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:

Solution

public class Solution {
    public boolean checkRecord(String s) {
        int aCount = 0;
        int i = 0;
        while (i < s.length()) {
            if (s.charAt(i) == 'A') {
                aCount++;
                if (aCount > 1) {
                    return false;
                }
            } else if (s.charAt(i) == 'L') {
                int continuousLCount = 0;
                while (i < s.length() && s.charAt(i) == 'L') {
                    i++;
                    continuousLCount++;
                    if (continuousLCount > 2) {
                        return false;
                    }
                }
                i--;
            }
            i++;
        }
        return true;
    }
}