문제
숫자로 이루어진 배열인 nums를 인자로 전달합니다. 숫자중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요.
예를 들어,
nums = [3,2,3]
return 3
nums = [2,2,1,1,1,2,2]
return 2
가정
nums 배열의 길이는 무조건 2개 이상
답
debugger
function moreThanHalf(nums) {
// 여기에 코드를 작성해주세요.
let obj = {};
for (let val of nums) {
obj[val] = !obj[val] ? 1 : obj[val]+=1
}
for (let key in obj) {
if (obj[key] >= nums.length/2) {
return Number(key)
}
}
}
const nums = [3,2,3,4];
const nums2 = [2,2,1,1,1,2,2,4];
console.log(moreThanHalf(nums));
console.log(moreThanHalf(nums2));
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/for...of
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/for...in