毎朝Codewars@2019.07.24(水): Find all pairs
毎朝ちびちびCodewars。
記事が下書きのままずっと放置されていたのを、遅ればせながら公開しました。
[7 kyu] Find all pairs www.codewars.com
今日のお題:
"""与えられる整数のリストに、同じ数値のペアが何組あるか数える 例: [] --> 0 (空リスト) [0, 0, 0, 0] --> 2 (0のペアが2こ) [1, 2, 5, 6, 5, 2] --> 2 (2と5のペア) [1, 2, 2, 20, 6, 20, 2, 6, 2] --> 4 (2のペア2こ, 6と20のペアが1こずつ) def duplicates(arr): Args: arr (list): リストの各要素は整数1コ Returns: 同じ数値のペア数 (int): """
コード
# [7 kyu] Find all pairs # https://www.codewars.com/kata/find-all-pairs-1/ import collections def duplicates(arr): return sum(n//2 for n in collections.Counter(arr).values())
- collenctions.Counter(arr)で各要素の個数を取得する。2で切り捨て除算した結果の合計がペア数。