# 1700. Number of Students Unable to Eat Lunch from collections import Counter """ the school cafeteria offers circular and square sandwiches at lunch break, referred to by numbers 0 and 1, respectively. all students stand in a queue. each student either prefers square or circular sandwiches. the number of sandwiches in the cafeteria is equal to the number of students. """ class Solution(object): def countStudents(self, students, sandwiches): """ :type students: List[int] :type sandwiches: List[int] :rtype: int """ cnt = Counter(students) n, k = len(students), 0 while k < n and cnt[sandwiches[k]]: cnt[sandwiches[k]] -= 1 k += 1 return n - k if __name__ == "__main__": obj = Solution() print(obj.countStudents(students=[1, 1, 0, 0], sandwiches=[0, 1, 0, 1])) print(obj.countStudents(students=[1, 1, 1, 0, 0, 1], sandwiches=[1, 0, 0, 0, 1, 1]))