from typing import List DEFAULT_STUDENTS = ['Alice', 'Bob', 'Charlie', 'David', 'Eve', 'Fred', 'Ginny', 'Harriet', 'Ileana', 'Joseph', 'Kincaid', 'Larry'] PLANT_NAMES = {'V': 'Violets', 'R': 'Radishes', 'G': 'Grass', 'C': 'Clover'} class Garden: def __init__(self, diagram: str, students: List[str] = DEFAULT_STUDENTS): diagram = diagram.split() self.plant_db = {} for i, name in enumerate(sorted(students)): self.plant_db[name] = ''.join([diagram[0][2*i:2*i + 2], diagram[1][2*i:2*i + 2]]) def plants(self, name: str) -> List[str]: if name not in self.plant_db.keys(): return [] return [PLANT_NAMES[ch] for ch in self.plant_db[name]]