LoginSignup
0
0

More than 1 year has passed since last update.

ロジックサマナー ランクC「ログの結合」を解いた

Posted at

はじめに

ロジックサマナーの問題をまた解きました。
少し AtCoder の問題解いたんですが、時間制限内に解けなくて悔しかったです。(B問題で終わりました...)

今回も正答したソースコードを下に載せます。

問題の概要

問題のリンクです。

入力:
8
0 thequickbr
0 ownfoxjump
0 soverthela
0 zydog
1 jackdawslo
1 vemybigsph
1 inxofquart
1 z
出力:
0 thequickbrownfoxjumpsoverthelazydog
1 jackdawslovemybigsphinxofquartz

問題の概要を要約すると、入力されるのがチャットのログです。
左がチャットのIDで、右がチャットの内容として、同じIDであれば末字に結合して出力する。
といった感じです。

正答したソースコード

# 入力
n = int(input())
input_dic = {}
for _ in range(n):
    (id, string) = input().split()
    id = int(id)
    if (id in input_dic):
        input_dic[id] += string  # 文字列の連結
    else :
        input_dic.update({id : string})

# 出力
for id in input_dic:
    print(id, input_dic[id])

入力されるチャットを辞書型で管理して、新しいIDがあれば新しく辞書型のデータを作成する。
既に存在するIDであれば、文字列の末尾に加えていく。
最後に、IDごとに作成したディクショナリを出力して、終了。

終わりに

最近辞書型使ってなかったので、使い方とか再確認できました。
ちなみに、for文で辞書型のデータを一つずつ取り出したかったんですが、keyの部分が取り出されるようです。
てっきり、リストとか同じように取り出せると思ってました。

以上、

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0