[문제]
[제출한 코드]
- JavaScript
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');
const c = Number(input[0]); // number of test case
for(let i = 1; i <= c; i++) {
let sum = 0; avg = 0; cnt = 0;
let score = input[i].split(' ').map( x => Number(x));
let divNum = score[0];
for (let j = 1; j <= divNum; j++) { // 스코어 더하기
sum += score[j];
}
avg = sum / divNum; // 평균 구함
for (let j = 1; j <= divNum; j++) { // 평균보다 높은 경우 cnt++
if (score[j] > avg ? cnt++ : false);
}
console.log((cnt / divNum * 100).toFixed(3) + "%"); // 퍼센테이지 연산 후 출력
}
👉주석에 있는 설명대로 풀기는 했는데 for문을 3번이나 사용해서 비효율적이고 난이도 높은 문제에서는 TimeOut 나올 것 같다. 코드가 길어서 sum, avg, cnt 선언도 한 번에 했고 삼항 연사자도 쓰긴 했는데, 그래도 개선해야될 부분이 많다.
- Python
👉추후 풀이 예정
문제 링크: https://www.acmicpc.net/problem/4344
4344번: 평균은 넘겠지
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
www.acmicpc.net
'Algorithm' 카테고리의 다른 글
[인프런 강의] JS 알고리즘 문제풀이(코딩테스트 대비) - 섹션1 (0) | 2022.01.30 |
---|---|
[백준 알고리즘] 1316번: 그룹 단어 체커 (JavaScript - 실패코드) (0) | 2022.01.16 |
[백준 알고리즘] 10869번: 사칙연산 (JavaScript, Python) (0) | 2022.01.10 |
[프로그래머스] 두 개 뽑아서 더하기- JavaScript 📝 (0) | 2022.01.10 |
JavaScript 로 알고리즘 풀 때의 input, output 방식 (0) | 2021.11.12 |