LeetCode in Kotlin

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

class Solution {
    fun checkRecord(s: String): Boolean {
        var aCount = 0
        var i = 0
        while (i < s.length) {
            if (s[i] == 'A') {
                aCount++
                if (aCount > 1) {
                    return false
                }
            } else if (s[i] == 'L') {
                var continuousLCount = 0
                while (i < s.length && s[i] == 'L') {
                    i++
                    continuousLCount++
                    if (continuousLCount > 2) {
                        return false
                    }
                }
                i--
            }
            i++
        }
        return true
    }
}