코딩테스트

최빈값 구하기

프도의길 2023. 12. 26. 00:14

 

 

function solution(array) {
    var answer = 0;
    
    const obj = {};
    array.forEach(item => {
      if(obj[item]) obj[item]++
      else obj[item] = 1
    })
    
    const value =  Object.values(obj)
    const max = Math.max(...value)

    if(value.filter(e => e === max).length > 1 ) return -1
    return Number(Object.keys(obj)[value.indexOf(max)])
}

먼저 객체형태로 key, value 를 만들어줍니다.

그리고 최댓값을 구해서 최대값과 객체 값길이가 1이상이면 -1로 리턴해줍니다.

마지막으로 객체형태에서 최대값을 가져와서 리턴해줍니다.