AtCoder ABC-323_B
python 初心者 AtCoderBeginnerContest
最近仕事がクッソ忙しく、全然勉強できなかった💦
そんなわけで久々に投稿します!
A問題がサクサク解けてきたので、B問題にも口をつけてます。
B問題はさすがに時間がかかる😢
AtCoder Beginner Contest 323
プレイヤー1、2、3といたとき、「o」をとった数をリストに突っ込んで降順に並べ替えればOKなのかな?と考えたのですが。
それだと、プレイヤーとoの数が紐づかないじゃん!?と気づき、辞書に突っ込む方法を考えました。
n=int(input())
dic={}
for i in range(n):
s=input()
dic[i]=s.count('o') #oをカウントし、辞書に突っ込む
sort_dic=sorted(dic.items(),key=lambda x:x[1],reverse=True) #値の降順に並べ替え
ans=[x[0]+1 for x in sort_dic]#キーに1足してリスト化
print(*ans) #リストを文字列に変換
今日初めて知ったのですが、リストを文字列に変換するときに
ans=['a', 'b', 'c', 'd', 'e', 'f', 'g']
print(' '.join(ans))
とかやってたんですが、print(*ans)で行けちゃうって知ってました!?ねぇねぇ、知ってた!????