
const { notDeepEqual } = require("assert");
const { count } = require("console");
const fs = require("fs");
const { nextTick } = require("process");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./예제.txt";
let input = fs.readFileSync(filePath).toString().trim().split('\n');
// const fs = require('fs');
// let input = fs.readFileSync("/dev/stdin").toString().trim().split('\n');
const N=+input.shift();
let array=[];
for (let i=0;i<N;i++){
array.push(+input[i].trim())
}
array=array.sort();
let sum=array.reduce((a,b)=>a+b);
let average=Math.round(sum/N)
if (average===-0){
average=0
}
console.log(average)
array=array.sort((a,b)=>a-b);
if (N%2===0){
console.log(array[N/2]+array[N/2-1])
}else{
console.log(array[Math.floor(N/2)])
}
let map=new Map();
for (let i=0;i<N;i++){
if (map.has(array[i])){
map.set(array[i], map.get(array[i])+1);
}else{
map.set(array[i],1);
}
}
let max=0;
let array2=[];
map.forEach((el, key)=>{
if (max<el){
max=el;
array2=[];
array2.push(key);
}else if(max===map.get(key)){
array2.push(key);
}
})
array2=array2.sort((a,b)=>a-b)
if (array2.length!==1){
console.log(array2[1])
}else{
console.log(array2[0])
}
let range=Math.max(...array)-Math.min(...array)
console.log(range)
new Map() – 맵을 만듭니다.
map.set(key, value) – key를 이용해 value를 저장합니다.
map.get(key) – key에 해당하는 값을 반환합니다. key가 존재하지 않으면 undefined를 반환합니다.
map.has(key) – key가 존재하면 true, 존재하지 않으면 false를 반환합니다.
map.delete(key) – key에 해당하는 값을 삭제합니다.
map.clear() – 맵 안의 모든 요소를 제거합니다.
map.size – 요소의 개수를 반환합니다.