숫자로 이루어진 배열인 nums를 인자로 전달합니다.
숫자중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요.
예를 들어,
nums = [3,2,3]
return 3
nums = [2,2,1,1,1,2,2]
return 2
가정
nums 배열의 길이는 무조건 2개 이상입니다.
처음에는 문제에서 원하는 게 뭔지 이해하는 데 시간이 걸렸다. 모든 수의 average를 넘기는 엘리먼트를 반환하라는 건지 약간 헷갈렸다가, 갯수가 과반을 넘기는 엘리먼트를 리턴하라는 것을 이해하였다.
function moreThanHalf(nums) {
for (let i=0; i<nums.length; i++) {
if (nums.filter((item) => item === nums[i]).length > (nums.length / 2)) {
return nums[i]
}
}
}
console.log(moreThanHalf([3,2,3])) // 3
console.log(moreThanHalf([2,2,1,1,1,2,2])) // 2
console.log(moreThanHalf([1,2,3,1,2,3,2,3,3,3,3,3,3,3,3,3])) // 3
잘 읽었습니다.