Skip to main content

Command Palette

Search for a command to run...

Solving Leetcode Interviews in Seconds with AI: Student Attendance Record I

Updated
2 min read

Introduction

In this blog post, we will explore how to solve the LeetCode problem "551" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like Chatmagic, we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

Problem Statement

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. 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'.

Explanation

Here's a breakdown of the solution:

  • Count Absences: Iterate through the string and count the number of 'A' characters. If the count is 2 or more, the student is not eligible.
  • Check for Consecutive Lates: Iterate through the string and check for three consecutive 'L' characters. If found, the student is not eligible.
  • Return Result: If both conditions are met (absences < 2 and no 3 consecutive lates), the student is eligible.

  • Runtime Complexity: O(n), where n is the length of the string. Storage Complexity: O(1).

Code

    def checkRecord(s: str) -> bool:
    """
    Checks if a student is eligible for an attendance award based on the attendance record.

    Args:
        s: The attendance record string.

    Returns:
        True if the student is eligible, False otherwise.
    """

    absent_count = 0
    for char in s:
        if char == 'A':
            absent_count += 1
            if absent_count >= 2:
                return False

    for i in range(len(s) - 2):
        if s[i] == 'L' and s[i+1] == 'L' and s[i+2] == 'L':
            return False

    return True

More from this blog

C

Chatmagic blog

2894 posts

Solving Leetcode Interviews in Seconds with AI: Student Attendance Record I