function solution(array) {
let sortedArray = array.sort((a,b)=> a-b)
var answer = 0;
let cnt = 0;
let choi = -1;
let choiRepeatCnt = 0;
let repeatCnt = 0;
let beforeNumber = 0;
let isDupChoi = false;
while(cnt < array.length) {
if(beforeNumber !== array[cnt]) {
repeatCnt = 1;
} else {
repeatCnt = repeatCnt + 1 ;
}
if(repeatCnt === choiRepeatCnt) {
if(choi !== array[cnt]) {
isDupchoi = true;
}
}
if(repeatCnt > choiRepeatCnt) {
choi = array[cnt];
choiRepeatCnt = repeatCnt;
isDupchoi = false;
}
beforeNumber = array[cnt]
cnt = cnt + 1
}
if(isDupchoi) return -1
return choi;
}
function solution(array) {
let m = new Map();
for (let n of array) m.set(n, (m.get(n) || 0)+1);
m = [...m].sort((a,b)=>b[1]-a[1]);
return m.length === 1 || m[0][1] > m[1][1] ? m[0][0] : -1;
}
const solution = (array) => {
const counter = array.reduce((acc, cur) => ({
...acc,
[cur]: (acc[cur] || 0) + 1
}), {})
const items = Object.keys(counter).map((key) => [
Number(key), counter[key]
]).sort((a, b) => b[1] - a[1])
if (items[0][1] === items?.[1]?.[1]) {
return -1
}
return items[0][0];
}