0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

文字列の出現率 (paizaランク C 相当)

Posted at

先日は元々数が決まってる英小文字や数字だったけど、今回は出力されたものの出現率を調べるという問題。

ひとまず前回学んだ辞書リスト?(言い方)に入れることはできたけど
同じ単語だったら1増やすってのをどうすればいいんだろうか
おそらく今までのパターンからしてこの内包表記の中でなんかすればいいはずだ

N = int(input())
A = {input(): A[] for x in range(N)}
B = 

結果は

{'bcd': 0, 'abc': 0}

まあ予想通りではある。
ここからいろいろやってみたが、
全く進まず30分経過したのでギブ。
ここまでやった。
辞書をupdateすればいいかなと思ったけど
結局できず。

N = int(input())
count = 0
A ={}
for x in range(N):
    target = input()
    if input() in A:
        A.update(target=0)
    else:
        print(A)
        A[target]+=1
print(A)

答えを見てみた。
どうやら辞書への追加方法がまちがってたようだ。
途中までは考え方はあってたようだ。。。
updateは使わなくてよかったらしい。

で、新しく覚えた方法としては辞書の並べ替え方、
辞書からforで各要素を出力する方法がわかった。

N = int(input())
count = {}

for _ in range(N):
    s = input()
    if s not in count:
        count[s] = 1
    else:
        count[s] += 1

for word, times in sorted(count.items()):
    print(word, times)

そして自分の書いたのを修正したのが下記。

N = int(input())
A ={}
for x in range(N):
    target = input()
    if target not in A:
        A[target] = 1
    else:
        A[target] += 1

for word,result in sorted(A.items()):
    print(word, result)
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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?