Company: LeadSquared_8aug
Difficulty: medium
Problem Description You are designing a Library Management System. Implement two classes in Python: Book and Shelf . Class: Book Implement a constructor __init__(self, book_id: int, book_name: str, book_subject: str) that initializes the following instance variables: book_id (integer) book_name (string) book_subject (string) Class: Shelf Implement a constructor __init__(self, shelf_books: list) that initializes the following instance variable: shelf_books (a list of Book objects) Implement the following methods in the Shelf class: getBookCountByName(self, book_name: str) -> int : Returns the total number of books in shelf_books that have the exact book_name (case-sensitive). getBookNameOfMaximumCount(self) -> str : Returns the name of the book that appears most frequently on the shelf, based on the following conditions: Find the maximum frequency of any book_name in shelf_books . If there is exactly one book_name with this maximum frequency, return that book_name . If there is a