Coding Test/JS
백준 4344
dohem
2023. 10. 9. 20:56
https://www.acmicpc.net/problem/4344
4344번: 평균은 넘겠지
각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. 정답과 출력값의 절대/상대 오차는 10-3이하이면 정답이다.
www.acmicpc.net
풀이
let fs = require('fs')
let input = fs.readFileSync('/dev/stdin').toString().split('\n')
let N = Number(input[0])
for (i=1; i<=N ; i++){
let data = input[i].split(' ').map(Number)
let n = data[0]
let arr = data.slice(1)
let avg = arr.reduce((a,b)=>a+b) / n
let cnt = 0
for (j=0; j<arr.length ; j++){
if (arr[j]>avg){cnt+=1}
}
console.log((cnt/n * 100).toFixed(3) + '%')
}
참고
1. 소수점 N번째까지 출력 => .toFixed(N)
2. 특정 배열에서 특정 인덱스부터 슬라이싱. => array.slice(시작idx,끝idx) * 끝idx 생략하면 끝까지 자름.