본문 바로가기

FrontEnd/PS through Javascript

백준(BOJ) 4344: 평균은 넘겠지

우선 정답코드는 아래와 같다.

const fs=require('fs');
const filepath=process.platform==='linux'?'dev/stdin':'./input.txt';
let input=fs.readFileSync(filepath).toString().split("\n");

let T=input[0]*1;
for (let i=1;i<=T;++i){
    let arr=input[i].split(" ").map(item=>item*1)
    let length=arr.shift();
    console.log("function call")
    solution(length, arr);
}

function solution(length, arr){
    let count=0;
    let sum=arr.reduce((acc, ele)=>acc+=ele, 0);
    let avg=sum/length;
    for(let j=0;j<length;++j){
        if(arr[j]>avg){
            ++count;
        }
    }
    console.log((count/length*100).toFixed(3)+"%");
}

-코드를 보면 알수 있지만 문자열을 정수형 자료형으로 바꾸기 위해서 '+' 가아닌 *1 을 해주고 있다.

Array.prototype.shift() 에 대하여

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/shift

shift() 메서드는 배열에서 첫 번째 요소를 제거하고, 제거된 요소를 반환합니다. 이 메서드는 배열의 길이를 변하게 합니다.

Array.prototype.reduce()에 대하여

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce

reduce() 메서드는 배열의 각 요소에 대해 주어진 리듀서 (reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.

 

 

'FrontEnd > PS through Javascript' 카테고리의 다른 글

백준(BOJ) 1463: 1로 만들기  (1) 2024.02.03
백준(BOJ) 2798: 블랙잭  (1) 2024.02.01
백준(BOJ) 2920: 음계  (0) 2024.01.22
자바스크립트에서 값 입력받기  (0) 2024.01.22
기초문법 with Algorithm (ing)  (0) 2024.01.20