[프로그래머스/Python] 위클리 챌린지, 2주차 상호평가
● 문제
- 학생들의 점수가 담긴 정수형 2차원 배열 scores가 매개변수로 주어집니다. 이때, 학생들의 학점을 구하여 하나의 문자열로 만들어서 return 하도록 solution 함수를 완성해주세요.
● 소스코드
def score_to_grade(score):
grade = ''
if score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
elif score >= 70:
grade = 'C'
elif score >= 50:
grade = 'D'
else:
grade = 'F'
return grade
def solution(scores):
answer = ''
for i in range(len(scores)):
cur = [x[i] for x in scores]
self_score = cur[i]
cur.remove(self_score)
if min(cur) <= self_score and self_score <= max(cur):
tmp = (sum(cur) + self_score) / (len(cur) + 1)
else:
tmp = sum(cur) / len(cur)
answer += score_to_grade(tmp)
return answer
● 풀이
- 특별한 알고리즘은 없다.
- 각 학생마다 점수의 평균을 구하여 학점을 부여한다.
- 이때 자가평가 점수가 유일한 최솟값이거나 최댓값일때는 평균을 구할때 제외한다.
* https://programmers.co.kr/learn/courses/30/lessons/83201
코딩테스트 연습 - 2주차_상호평가
[[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD"
programmers.co.kr
'알고리즘 > 프로그래머스(Python)' 카테고리의 다른 글
[프로그래머스/Python] N개의 최소공배수 (0) | 2021.10.10 |
---|---|
[프로그래머스/Python] JadenCase 문자열 만들기 (0) | 2021.10.10 |
[프로그래머스/Python] 없는 숫자 더하기 (0) | 2021.10.09 |
[프로그래머스/Python] 내적 (0) | 2021.10.09 |
[프로그래머스/Python] 행렬의 덧셈 (0) | 2021.10.09 |
댓글