[JS] 1546 평균

    https://www.acmicpc.net/problem/1546

     

    1546번: 평균

    첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보

    www.acmicpc.net

    문제

    • 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 이를 평균 내는 프로그램을 작성하시오.
    • 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다.
    • 첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-2 이하이면 정답이다.

    풀이

    const fs = require('fs');
    const inputData = fs
        .readFileSync(0,'utf8')
        .toString()
        .trim()
        .split('\n')
    
    // const inputData = ['4','1 100 100 100']
    const caseN = parseInt(inputData[0])
    
    const score = inputData[1].split(' ').map((i)=>parseInt(i))
    const scoreMax = Math.max(...score);
    const newScore = score.map((i)=>i/scoreMax*100)
    
    const newScoreSum = newScore.reduce((a,b)=>a+b,0);
    const average = newScoreSum/caseN
    console.log(average)

    reduce 참고

    2022.08.22 - [algorithm/백준] - [JS] 10871 X보다 작은 수 reduce/for

     

    [JS] 10871 X보다 작은 수 reduce/for

    10871 X보다 작은 수 https://www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모..

    menduck.tistory.com


    댓글