min

프로그래머스 실패율 자바스크립트 본문

알고리즘

프로그래머스 실패율 자바스크립트

minprogramming 2023. 6. 20. 12:33

<문제>

https://school.programmers.co.kr/learn/courses/30/lessons/42889

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

<나의 풀이>

function solution(N, stages) {
    let stageLen = stages.length
    let arr = [];
    for(let i = 1; i <= N;i++) {
        num = stages.filter((val)=> val===i).length;
        arr.push([i,num / stageLen])
        stageLen -= num
    }
    arr.sort((a,b)=>b[1]-a[1])
    arr = arr.map((val)=>val[0])
    return arr;
}

<다른 사람의 풀이>

function solution(N, stages) {
    let result = [];
    for(let i=1; i<=N; i++){
        let reach = stages.filter((x) => x >= i).length;
        let curr = stages.filter((x) => x === i).length;
        result.push([i, curr/reach]);
    }
    result.sort((a,b) => b[1] - a[1]);
    return result.map((x) => x[0]);
}

<궁금중>

filter

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

 

Array.prototype.filter() - JavaScript | MDN

filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다.

developer.mozilla.org