programmers

[Programmers Level 0] 등수 매기기 Javascript

냠냠맨 2022. 12. 14. 10:57

⚡문제정보

 

살짝 막혔었던 문제였는데 오늘 다시보니까 풀렸어요

평균점수를 구하고 -> 등수를 구해야하는 문제인데

동점인 경우의 처리에 유의해줘야합니다.

 


 

🔍접근방법

 

각 요소를 평균값으로 변환해주고 비교해야한다.

등수를 매기기 위한 정답 배열을 만들어주어야한다.

순위를 정해주기 위해 [i]를 기준으로 나머지 요소들과의 대소관계를 카운트해준다.

 

한계

for문을 2중으로 사용함..

 


 

 

🔍나의 풀이

 

function solution(score) {
    let answer = Array.from(score, () => 1)
    for(i=0 ; i<score.length ; i++) {
        let standard = (score[i][0] + score[i][1]) / 2

        for(j=0; j<score.length ; j++) {
            let compare = (score[j][0] + score[j][1]) / 2
            if(compare > standard) answer[i]++
        }
    }
    return answer
}

 

코드설명은 아래에 서술합니다.

 

function solution(score) {
    let answer = Array.from(score, () => 1)
    //score의 길이와 같은 배열을 만들고 값을 1로 채워줍니다.
    
    for(i=0 ; i<score.length ; i++) {
        let standard = (score[i][0] + score[i][1]) / 2
		// 기준점의 평균값을 구합니다.
        
        for(j=0; j<score.length ; j++) {
            let compare = (score[j][0] + score[j][1]) / 2
            // 비교하고자하는 값의 평균을 구합니다.
            if(compare > standard) answer[i]++
            //만약 비교값이 기준값보다 크다면 등수를 올려줍니다.
        }
    }
    return answer
}
반응형