[PYTHON] paiza Fähigkeitsüberprüfung vergangene Problemsammlung "C-Rang äquivalenter Suchverlauf"

(Problem) https://paiza.jp/works/mondai/skillcheck_archive/search_history?language_uid=python3

(Video in Java gelöst) https://paiza.jp/works/skillcheck/primer/skillcheck4

Ich habe keine Antwort auf diese Frage erhalten, daher werde ich den Antwortcode für meine eigene Bewertung veröffentlichen. Die Problemstellung lautet wie folgt.

Sie können den Verlauf der Suchwörter in dem von Ihnen verwendeten Browser nicht sehen. Sie fanden es unpraktisch, den Verlauf von Suchwörtern nicht sehen zu können. Deshalb habe ich beschlossen, eine Funktion zu erstellen, um den Verlauf von Suchwörtern selbst anzuzeigen.

Der Verlauf von Suchwörtern wird wie folgt erstellt.

Wenn das Suchwort W zuvor eingegeben wurde: Löschen Sie W im Verlauf. Fügen Sie W am Anfang des Verlaufs hinzu. Wenn das Suchwort W noch nie eingegeben wurde: Fügen Sie W am Anfang des Verlaufs hinzu.

Da N Suchwörter W angegeben sind, schreiben Sie ein Programm, das den Verlauf anzeigt, nachdem N Suchwörter angegeben wurden.

Wenn Sie es allein anhand der Problemstellung etwas schwierig finden, können Sie es anhand des Links verstehen, da es konkrete Beispiele gibt.

Anleitung zur Antwort

Die erste Zeile der Standardeingabe erhält eine Ganzzahl N, die die Anzahl der Suchwörter darstellt. In der zweiten und den folgenden Zeilen erhalten die gesuchten Wörter ein Wort pro Zeile. Erstellen Sie im Voraus eine leere Liste, sehen Sie sich die Wörter Zeile für Zeile an, speichern Sie das Wort in der Liste, wenn es nicht in der Liste enthalten ist, und löschen Sie das Wort in der Liste, wenn es in der Liste enthalten ist. Wenn Sie es der obigen Liste hinzufügen, scheint es den angegebenen Bedingungen zu entsprechen.


#Holen Sie sich die Ganzzahl N.
n = int(input())
#Leere Liste
words=[]

#Holen Sie sich Wörter Zeile für Zeile
for i in range(n):
    W = str(input())
#Überprüfen Sie, ob das von der if-Anweisung erhaltene Wort in der Liste enthalten ist, bevor Sie die Liste speichern.
    if W in words :
        words.remove(W) #Löschen Sie Wörter in der Liste, wenn sie in der Liste enthalten sind
    words.append(W) #Anhängen, da es hinzugefügt wird, unabhängig davon, ob es in der Liste enthalten ist()Die Methode befindet sich in dieser Position

Bei der Anzeige des Ergebnisses wird die Reihenfolge zeilenweise neu zur Liste hinzugefügt, sodass die entsprechende Antwort ausgegeben wird.


#Ergebnisse anzeigen
for i in range(int(len(words))):
    print(words[-i-1])

Dies ist abgeschlossen.

Recommended Posts

paiza Fähigkeitsüberprüfung vergangene Problemsammlung "C-Rang äquivalenter Suchverlauf"
Lösen Sie die Wortanzahl (entspricht Paiza Rang C) in Python
Löse Fizz Buzz (entspricht Paiza Rang C) in Python
Paiza Skill Checkliste der häufig verwendeten D- und C-Ränge ~ Python ~
[Mit Kommentar] Löse Fizz Buzz (entspricht Paiza Rang C) mit Python