숫자중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요

길현민·2022년 7월 12일
0

JS코딩테스트

목록 보기
5/7

문제
숫자로 이루어진 배열인 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));

🐔참고문헌

·mdn web 사이트 for...of

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/for...of

·mdn web 사이트 for...in

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/for...in

profile
맛집탐방러

0개의 댓글