[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


댓글