알고리즘

프로그래머스 - 코딩테스트 연습 - 위클리 챌린지2주차

유운아 2021. 10. 6. 20:58

평균구한다음 학점으로 변환하는 코드

 

주석문을 보면 어떻게 만들고 싶은지 보일것 이다.

function solution(scores) {
    var answer = '';

    for(let j=0; j<scores.length; j++){
        let newArr = [];

        //자기가 받은점수 배열에 넣기(자기가 준 점수와 비교하기 위하여)
        for(let i=0; i<scores.length; i++){ 
            if(j !== i){
                newArr.push(scores[i][j])
            }      
        }

        //자기가 준 점수와 비교하여 단독 최고값, 단독 최저값이 아닐경우 합산
        if(Math.max(...newArr) >= scores[j][j] && Math.min(...newArr) <= scores[j][j] ){
             newArr.push(scores[j][j])
        }

        console.log(newArr)
        //각자 평균을 학점으로 변환하여 답에 넣어줌
        let average = newArr.reduce((a,b) => a + b ) / newArr.length

        if( average >= 90){
            answer += 'A'
        }else if( average >= 80 ){
            answer += 'B'
        }else if( average >= 70 ){
            answer += 'C'
        }else if( average >= 50 ){
            answer += 'D'
        }else{
            answer += 'F'
        }

    }

    return answer;
}