あなたの仕事は、チャットメッセージのリストを指定して、各人がpingされる回数をカウントするプログラムを作成することです。そのため、私は誰もがどれだけ人気があるかを知ることができます。しかし、私はひそかにそれをしなければならないので、コードを隠すことができるように、できるだけ小さくする必要があります。
スペック
- 入力は2タプルのリストで、各アイテムはの形式
("username", "message")
です。 - 別のユーザーへのping
@
は、そのユーザーを明確に参照する3つ以上の文字が続くものとして定義されます。 - ただし、返信を検討する必要もあります。返信は
:messageid
、スペースで始まります。 - 最初のメッセージにidがある
0
と仮定して、順番に進みます。 - 各ユーザーを出力し、各ユーザーに何回pingを送信したかを伝えます。
- 出力は、任意の順序/合理的な形式にすることができます。
- これはcode-golfなので、バイト単位の最短コードが勝ちです!
テストケース
[["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
「私は、投票を通して悲しみを引き起こすのが好きです。」あなたが私がそれに答えることができる唯一の適切な方法があることを知っていますよね?;)
—
ジオビット
どの時点で「アレックスは間違っています」ジョークで停止しますか?
—
マーティンエンダー
返信が範囲外である場合(例:で始まる最初のメッセージ
—
Sp3000
:3
)、または部屋のユーザーを満足させないpingである場合(例@zzz
:)
pingを実行したユーザーは、pingを実行してもまだメッセージを投稿できませんか?たとえば、
—
-ETHproductions
[["Doorknob","@Alex is wrong"],["Alex","I am only slightly wrong"]]
有効な入力はありますか?
:0
驚きの絵文字としての機能が気に入っています。