[프로그래머스]최빈값 구하기_자바스크립트

jjyu_my·2025년 2월 3일
0

코딩테스트

목록 보기
7/8
post-thumbnail

💻 프로그래머스 코딩테스트 연습LV0

🔍 문제_최빈값 구하기


🎯 풀이

1️⃣ 등장횟수 카운트

  • 객체 counts 랄 사용해 숫자의 등장 횟수를 기록
  • array.forEach()를 활용해서 숫자가 등장할때마다 개수 증가

2️⃣ 최빈값 구하기

  • Object.values(counts)를 사용해 등장 횟수들 중 최대값(maxCoutn)을 구한다
  • Object.keys(counts)로 counts 객체의 키(숫자들)를 가져온 후, filter()를 사용해 maxCount와 같은
    값을 가지는 숫자들을 modes 배열에 저장

3️⃣ 최빈값이 여러개면 -1반환, 아니면 최빈값 반환

  • modes 배열의 길이가 1보다 크면 최빈값이 여러 개이므로 -1을 반환
  • 그렇지 않으면 modes[0]을 숫자로 변환하여 반환

function solution(array) {
    let counts = {};
    
    // 1. 등장 횟수 카운트
    array.forEach(num => counts[num] = (counts[num] || 0) + 1);

    // 2. 최빈값 찾기
    let maxCount = Math.max(...Object.values(counts));
    let modes = Object.keys(counts).filter(num => counts[num] === maxCount);

    // 3. 최빈값이 여러 개면 -1 반환, 아니면 최빈값 반환
    return modes.length > 1 ? -1 : Number(modes[0]);
}

👩🏻‍💻 이건 진짜 구글링으로 찾아보고 GPT한테도 물어봐서 풀은 문제이다...
나의 문제해결 능력은 10% 정도..?ㅎㅎ
찾아보고, 물어보면 바로 답을 알려줘서 답 안보고 참고만 하려고 엄청 흐린눈을 했다....코드가 길어질것같으면 바~로 막혀버리는 나.. 문제있다잉?!🥲

profile

0개의 댓글

관련 채용 정보