백준 2587번 대표값2, Javascript

cptkuk91·2023년 2월 17일
1

Algorithm

목록 보기
140/161

문제

https://www.acmicpc.net/problem/2587

코드

const input = require("fs").readFileSync("/dev/stdin", "utf-8").trim().split("\n");

let mode = 0, total = 0;

for(let i = 0; i < input.length; i++){
	total += Number(input[i]);
}

const forSort = input.sort((a, b) => a - b);
mode = Math.floor(input.length / 2);
console.log(total / input.length);
console.log(forSort[mode]);

풀이

우선 평균값을 구하기 위해서, total값을 구합니다.
평균값은 쉽게 구할 수 있습니다. total을 구한 후 배열의 길이만큼 나눠주면 평균이 구해져요.
문제의 요구사항에 맞춰 정렬 후, 중앙값을 구하기 위해 mode를 선언 후 중앙값을 구합니다.
중요한 부분은 Math.floor를 같이 작성해야 합니다. Math.floor 없이 진행한다고 예를들면 5 / 2는 2.5가 됩니다. 따라서 Math.floor를 작성합니다. 정렬된 forSort[mode]를 통해 중앙값을 구할 수 있습니다.

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글