[programmers][Weekly Challenge][2週間]相互評価
7200 ワード
質問する
問題の説明
大学教授であるあなたは、相互評価を通じて学生たちに提出した宿題に加点したいと思っています.
以下は、0~4番の5人の学生が自分と他の学生の宿題に対する採点表です.
上記の点数表では、i行j列の値は、i番学生が評価したj番学生の宿題点数である.
学生が自分の点数が唯一の最高点または唯一の最低点であると評価した場合、それ以外は平均値を求める.
除外する点数を除いて、平均点数を求め、以下の基準で単位を与えます.
学生スコアを含む整数型2 D配列スコアをパラメータとします.このとき、解関数を完了し、学生の単位を求めて文字列にして返してください.
せいげんじょうけん
I/O例
に答える
コード#コード#
def solution(scores):
answer = ''
scores = [list(x) for x in zip(*scores)]
answer = ''
for i in range(len(scores)):
selfs = scores[i][i]
if (selfs == max(scores[i]) or selfs == min(scores[i])) and scores[i].count(selfs) == 1:
scores[i][i] = -1
for i in range(len(scores)):
n = len(scores[i])
su = sum(scores[i])
if scores[i][i] == -1:
n -=1
su +=1
mean = su/n
if mean >= 90:
answer += 'A'
elif mean >= 80:
answer += 'B'
elif mean >= 70:
answer += 'C'
elif mean >= 50:
answer += 'D'
else:
answer += 'F'
return answer
に答える
まず、マトリクスの行と列を変換して、学生が得た点数を理解します.
その後、点数が除外された場合、自己評価の点数が唯一の最高点または唯一の最低点である場合、その点数を除外する.
除外されない点数の平均値を求め、単位を算出した.
ポスト
これは簡単な問題だ.
Reference
この問題について([programmers][Weekly Challenge][2週間]相互評価), 我々は、より多くの情報をここで見つけました https://velog.io/@powerful104/ProgrammersWeekly-Challenge2주차-상호-평가テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol