본문 바로가기
Algorithm

[백준 알고리즘] 4344번: 평균은 넘겠지 (JavaScript, Python)

by Baest 2022. 1. 11.

[문제]

 

 

[제출한 코드]

 

- 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