평균은 넘겠지 - javascript

DonQ·2022년 4월 11일
0

CodingTest

목록 보기
13/33
post-thumbnail

문제 (출처)

👉https://www.acmicpc.net/problem/4344

나의 접근

  • 입력값이 복잡하다라는 생각이 제일 먼저 들었다.
  • reduce를 사용해서 평균을 구해야겠다.
  • filter로 평균보다 큰 수의 갯수를 구하고 싶은데 어떻게 해야하는지 모르겟네;;

풀이

const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");
let totalLength = +input[0];

for (let i = 1; i <= totalLength; i++){
    let a = input[i].split(" ").map((val) => +val);
    let b = a.slice(1);
    let count = 0;
    let avg = (b.reduce((prev, cur) => prev + cur))/a[0];
    for (let j = 0; j < b.length; j++){
        if(b[j] > avg){
            count++;
        }
    }
    console.log(((count / a[0]) * 100).toFixed(3)+'%');
}

오늘의 배운점 및 교훈

  • 기분이 매우 좋다 !!!
    코로나에서 완전 회복한 것도 있고, 정말로 생각나는대로 여기에는 이걸 쓰면 좋을거 같다라고 쓴 메소드들이 풀이법들과 거의 일치하여 나의 실력이 늘었음을 몸소 느낀다ㅋㅋㅋㅋ i can feeeeeel!!!!!
  • 아 그리고 filter를 써서 배열을 만든 후 그 배열의 length로 갯수를 카운트 하는 방법을 알았다.
  • toFixed()라는 메소드도 알게 되었다.
  • 뭔가 ㅋㅋㅋ 이 쉬운문제를 풀고 기분 좋아하는게 웃기긴 하지만, 그래도 기분은 좋을 수 있으니깐 껄껄
  • 아 그리고 변수 이름 짓는 법에 대해서 좀 고민해야겠다... 계속 a, b 만 쓰는건 아무래도 지양해야겠다...
  • 하지만 이 바닥 늘 겸손해야 된다. ㅋㅋ
profile
꾸준히 쌓아가는 코딩 Study

0개의 댓글

관련 채용 정보