Horário de aulas: sobrescrita de equals e hashCode

Kotlin Medium data classes

Tarefa «Horário de aulas: sobrescrita de equals e hashCode»

Crie uma data class `Lesson` com os campos: nome (String), professor (String), sala (String), dia da semana (Int, 1-7), número do par (Int, 1-8). Implemente uma função que recebe uma lista de aulas e retorna uma nova lista, onde as duplicatas são removidas (aulas são consideradas iguais se todos os seus campos forem iguais). A ordem dos elementos restantes deve ser mantida conforme a lista original. É garantido que os nomes e professores não contêm espaços.

Formato de Entrada

Na primeira linha, um número inteiro N (1 ≤ N ≤ 1000) — a quantidade de aulas. Em seguida, N linhas, cada uma no formato: "Nome Professor Sala DiaDaSemana NúmeroDoPar" (separados por espaço).

Formato de Saída

Imprima K — a quantidade de aulas únicas, em seguida K linhas no mesmo formato dos dados de entrada.

main.kt