CodeKata. 과반수 숫자 반환하기

ha ju·2021년 5월 4일
0
post-thumbnail

CodeKata.

🧐 문제

숫자로 이루어진 배열인 nums를 인자로 전달합니다. 숫자중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요.

예를 들어,

nums = [3,2,3]
return 3
 
nums = [2,2,1,1,1,2,2]
return 2
nums = [3,2,3]
return 3

nums = [2,2,1,1,1,2,2]
return 2


가정
nums 배열의 길이는 무조건 2개 이상

🧐 나의 코드

const nums = [2,2,1,1,1,2,2]
function moreThanHalf(nums) {
const majority = nums.length/2; 
  // console.log(majority)
  for(i=0; i<nums.length; i++) {
    let count = 0;
    for(x=0; x<nums.length;x++){
      if(nums[i] === nums[x]) {
        count = count+1;  
      }
    }
    if(count>majority){
      return nums[i]
    }
  } 
}

💡 접근 방법

이중for문으로 기준값(i)과 비교값(x)을 설정해준 뒤 값이 같으면 1씩 count 되도록 하여 nums.length/2(과반수) 이상이 되면 기준 값을 반환해주었다.

0개의 댓글