AtCoder ABC 085 B – Kagami Mochi Python解説

スポンサーリンク

Kagami Mochi

X 段重ねの鏡餅(X ≥ 1) とは、X 枚の円形の餅を縦に積み重ねたものであって、どの餅もその真下の餅より直径が小さい(一番下の餅を除く)もののことです。

ダックスフンドのルンルンは N 枚の円形の餅を持っていて、そのうち i 枚目の餅の直径は di センチメートルです。これらの餅のうち一部または全部を使って鏡餅を作るとき、最大で何段重ねの鏡餅を作ることができるでしょうか。

AtCoder Beginner Contest 085 「Kagami Mochi」

与えられたN枚の餅から何段重ねの鏡餅を作ることができるかの問題です。
餅の直径が同じだと重ねることができないので、set型を使って重複した直径の餅を削除し、最後に要素数を出力します。

n = int(input())

a = set()

for i in range(n):
    a.add(int(input()))
          
print(len(a))

set型は空の状態でa = {}のように書くと辞書型と間違われるので、a = set()と書いてあげましょう。for文とaddで餅の直径を受け取り、最後にlen関数で要素数を調べて完了です。