プログラマ-レポート結果の取得


詳細については、「リンク」を参照してください。
通報者の通報が適用される場合は、それぞれの数字で返信します.
まずコードを見てみましょう.
def solution(id_list, report, k):
    answer = []
    for h in range(len(id_list)) :
        answer.append(0)
    dic = {}
    for j in id_list :
        dic[j] = 0
    st = set(report)
    for i in st :
        a = i.split()
        if a[1] in dic :
            dic[a[1]] += 1
    for l in id_list :
        for m in st :
            a = m.split()
            if dic[l] >= k and l == a[1] :
                answer[id_list.index(a[0])] += 1
    return answer
個人的には、最初の問題は通報された回数を統計することです.これはディック・シャナリーで解決した.
集合は重複が許されないので,重複問題を集合で解決してみる.
2番目の問題は正解を提出することです.通報された回数を返すのではなく、通報された人の通報が何回適用されたかを集計するため、二重砲口が使われた.
結果はタイムアウトです.
再開しました.
今回検索しましたコードはこうです.
def solution(id_list, report, k):
    answer = [0] * len(id_list)
    dic = {}
    for j in id_list :
        dic[j] = []
    for i in set(report) :
        a = i.split()
        dic[a[1]].append(a[0])
    for key,value in dic.items() :
        if len(value) >= k :
            for v in value :
                answer[id_list.index(v)] += 1
    return answer
異なる面から見ると
1.簡略化したanswer2.dic下着key値段とvalue値段はそれぞれ申告者と犯罪者(?)に変更します.
考えが浮かばないように見える.