강의로 돌아가기
학생입ㅇㄴㅁㅇ

js로 실행시 시간초과 오류 관련 질문(4,5,22번 등)

점수까이고 다른 사람의 풀이 가서 최상단 모범답안을 복붙 해봐도 똑같은 케이스에서 시간초과가 나는데 어떻게 해야하죠??

연습이라 여기서만 이런건가요 아니면 프로그래머스를 거치는 다른 기업의 시험에서도 자바스크립트로 코드 사용시 이렇게되나요??

코드 첨부합니다.

작성중인 코드―solution.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function solution(N, stages) {
  const answer = [];

  for (let i = 1; i <= N; i++) {
    const a = stages.filter(stage => stage > i);
    const b = stages.filter(stage => stage === i);
    // console.log(a,b)
    if ( a.length + b.length === 0) answer.push({ stage: i, rate: 0 })
    else {
      const bunmo = a.length + b.length;
      const bunza = b.length;
      const failRate = Number((bunza / bunmo).toFixed(10));
      answer.push({
        stage: i,
        rate: failRate
      });
    }
  }


  answer.sort((a, b) => {
    if (a.rate > b.rate) return -1;
    if (a.rate < b.rate) return 1;
    return a.stage < b.stage ? -1 : 1;
  });

  //console.log(answer)

  return answer.map(item => {
    return item.stage;
  });
}
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.