Ihre Aufgabe ist es, ein Programm zu schreiben, das anhand einer Liste von Chat-Nachrichten zählt, wie oft jede Person einen Ping erhält, damit ich weiß, wie beliebt jeder ist. Aber da ich es heimlich tun muss, muss es so klein wie möglich sein, damit ich den Code verstecken kann.
Technische Daten
- Die Eingabe erfolgt in einer Liste mit 2 Tupeln, wobei jedes Element der Form entspricht
("username", "message")
. - Ein Ping an einen anderen Benutzer wird als
@
gefolgt von 3 oder mehr Buchstaben definiert, die eindeutig auf diesen Benutzer verweisen. - Sie müssen jedoch auch Antworten berücksichtigen, die mit
:messageid
einem Leerzeichen beginnen müssen. - Angenommen, die erste Nachricht hat die ID
0
und gehe nacheinander vor. - Geben Sie jeden Benutzer aus und sagen Sie, wie oft jeder Ping erhalten hat.
- Die Ausgabe kann in beliebiger Reihenfolge und in einem angemessenen Format erfolgen.
- Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes !
Testfälle
[["AlexA.", "I am wrong"], ["Quartatoes", "@Alex you are very wrong"], ["AlexA.", ":1 I am only slightly wrong"]]
AlexA.: 1
Quartatoes: 1
[["Doorknob", "I have never eaten an avocad."], ["AquaTart", ":0 I will ship you an avocad"], ["AlexA.", ":0 this is shocking"]]
Doorknob: 2
AquaTart: 0
AlexA.: 0
[["Geobits", "I like causing sadness through downvotes."], ["Flawr", "I want to put random message ids in my chat messages :0 askjdaskdj"]]
Geobits: 0
Flawr: 0
[["Downgoat", "goatigfs.com/goatgif"], ["Downotherthing", "@Downgoat cool gifs"], ["Dennis", "@Down cool gifs this is an ambiguous ping"]]
Downgoat: 1
Downotherthing: 0
Dennis: 0
:3
) oder ein Ping, der keinen Benutzer im Raum zufriedenstellt (z. B. @zzz
)?
[["Doorknob","@Alex is wrong"],["Alex","I am only slightly wrong"]]
gültige Eingabe?
:0
sich das als überraschtes Emoticon verdoppelt.