관리 메뉴

솜씨좋은장씨

[Programmers] 위클리 챌린지 2주차 - 상호 평가 (Python) 본문

Programming/코딩 1일 1문제

[Programmers] 위클리 챌린지 2주차 - 상호 평가 (Python)

솜씨좋은장씨 2021. 8. 11. 23:37
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 프로그래머스의 위클리 챌린지 2주차 문제인 상호 평가 입니다.

 

코딩테스트 연습 - 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

Solution

def get_person_grade(score):
    grade = "F"
    
    if score >= 90:
        grade = "A"
    elif 80 <= score < 90:
        grade = "B"
    elif 70 <= score < 80:
        grade = "C"
    elif 50 <= score < 70:
        grade = "D"
        
    return grade

def solution(scores):
    answer = ''
    
    person_num = len(scores[0])
    
    for person in range(person_num):
        person_scores = []
        person_number = len(scores[0])
        for idx in range(person_num):
            person_scores.append(scores[idx][person])
        
        person_total_score = sum(person_scores)
        
        if ((max(person_scores) == person_scores[person]) or (min(person_scores) == person_scores[person])) and person_scores.count(person_scores[person]) < 2:
            person_total_score -= person_scores[person]
            person_number -= 1

        person_avg_score = person_total_score / person_number
        
        person_grade = get_person_grade(person_avg_score)
        
        answer += person_grade
    
    return answer
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments