プログラマ第1フェーズ-レポート結果の取得
問題の説明
問題は第一段階にとって少し複雑だ.solution関数は、次のパラメータを受信します.id list、report、kがこれらのパラメータを記述する場合、id listには総ユーザのアイデンティティが含まれます.たとえば、[Muzi]、[Frodo]、[apeach]、[neo]です.Report変数には、[「muzi frodo」、「apeach frodo」、「frodo」、「muzineo」、「apeach muzi」の下の形式の値が含まれ、前のidは申告者であり、後ろは申告者である.そして多くの通報を受けたら当然制裁を受けるでしょう?また、通報者には通報を受けたメールが届きます.この基準はkです.k回以上通報を受けた場合、制裁を受ける.
コード#コード#
この変数を使用
完全なコードを表示するには、次の手順に従います.
質問リンク
https://programmers.co.kr/learn/courses/30/lessons/92334
問題は第一段階にとって少し複雑だ.solution関数は、次のパラメータを受信します.id list、report、kがこれらのパラメータを記述する場合、id listには総ユーザのアイデンティティが含まれます.たとえば、[Muzi]、[Frodo]、[apeach]、[neo]です.Report変数には、[「muzi frodo」、「apeach frodo」、「frodo」、「muzineo」、「apeach muzi」の下の形式の値が含まれ、前のidは申告者であり、後ろは申告者である.そして多くの通報を受けたら当然制裁を受けるでしょう?また、通報者には通報を受けたメールが届きます.この基準はkです.k回以上通報を受けた場合、制裁を受ける.
コード#コード#
answer = [0] * len(id_list)
reported = [0] * len(id_list)
check = [[0 for i in range(len(id_list))] for j in range(len(id_list))]
まず、次の変数を作成します.resultは答えとして返される変数で、reportedは何回アラームを受信したかを示すリストです.checkは、誰が誰に通報したのかを2次元listに知らせるために作成された.for i in report:
a, b = i.split()
A = id_list.index(a)
B = id_list.index(b)
if check[A][B] == 0:
check[A][B] = 1
reported[B] += 1
次のコードはcheckを使用して、誰の通報を2次元リストに保存しようとします.Reportはsplit()を使用して変数iを受信し、それをスペースに分け、A申告者Bを申告者IDのインデックスとする.checkに保存すると、IDのインデックスに対応するユーザがaに報告するユーザになります.この変数を使用
for i in range(len(id_list)):
for j in range(len(id_list)):
if check[i][j] == 1:
if reported[j] >= k:
answer[i] += 1
この人をチェックし、クレームの回数がk回を超える場合は、答えを+=1にします.そうすれば、あの人が何度制裁されたかが分かる.完全なコードを表示するには、次の手順に従います.
def solution(id_list, report, k):
answer = [0] * len(id_list)
reported = [0] * len(id_list)
check = [[0 for i in range(len(id_list))] for j in range(len(id_list))]
for i in report:
a, b = i.split()
A = id_list.index(a)
B = id_list.index(b)
if check[A][B] == 0:
check[A][B] = 1
reported[B] += 1
for i in range(len(id_list)):
for j in range(len(id_list)):
if check[i][j] == 1:
if reported[j] >= k:
answer[i] += 1
return answer
困っている人に役に立つことを願っています.読んでくれてありがとう.質問リンク
https://programmers.co.kr/learn/courses/30/lessons/92334
Reference
この問題について(プログラマ第1フェーズ-レポート結果の取得), 我々は、より多くの情報をここで見つけました https://velog.io/@jung0228/프로그래머스-1단계-신고-결과-받기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol