본문 바로가기

verdantjuly/코딩테스트

프로그래머스 코딩테스트 입문 : 최빈값 구하기 (javascript, 20230518)

728x90

문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/120812

나의 풀이

문제 실행은 pass 이나 제출하기에서 fail 

function solution(array) {
    let count =[]
  for(i=0;i<array.length-2;i++){ //array의 맨끝에서 2번째 까지만 for문 돌린다.
        if(array[i]==array[i+1]){
         count.push(array[i])
        }
    }
    if (array[array.length-1]==array[array.length-2]){ //array의 맨 끝과 끝에서 2번째를 비교했을 때
        count.push(array[array.length-2])
    }

    if (count.length <1){
        return array[0]}
    else if(count[0] == count[count.length-1]){
        return count[0]}
    else if(count[0] !== count[count.length-1]){
        return -1
    }
}

 

다른 사람의 풀이 pass

function solution(array) {
    let m = new Map();
    for (let n of array) m.set(n, (m.get(n) || 0)+1);
    m = [...m].sort((a,b)=>b[1]-a[1]);
    return m.length === 1 || m[0][1] > m[1][1] ? m[0][0] : -1;
}

 

소감

1회차

오늘부터는 30분 시간 제한을 두고 풀고 있다.

너무 어렵다.

 

2회차

시간을 여유있게 두고 풀었는데 아직 완성을 못했다.

너무 어렵다.