숫자로 이루어진 배열인 nums를 인자로 전달합니다.
숫자중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요.
예를 들어,
nums = [3,2,3]
return 3
nums = [2,2,1,1,1,2,2]
return 2
nums
배열의 길이는 무조건 2
개 이상
function moreThanHalf(nums) {
return nums.sort((a,b)=>a-b)[Math.floor(nums.length/2)]
}
function moreThanHalf(nums) {
let numsObj = {}
for(i=0; i<nums.length; i++) {
if(numsObj[nums[i]]) {
numsObj[nums[i]] +=1
} else {
numsObj[nums[i]] = 0 + 1
}
}
const maxVal = Math.max(...Object.values(numsObj))
return Number(Object.keys(numsObj).find(key => numsObj[key] === maxVal))
}
if(numsObj[nums[i]])
로 해당 키의 존재 여부를 확인하는 분기를 만들었으며, 존재하지 않으면 해당 키의 값을 0으로 선언해준 뒤 더한다.