[프로그래머스 level 1 JS] 실패율

2022. 6. 6. 14:26·개발/알고리즘
728x90
반응형
 

코딩테스트 연습 - 실패율

실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스

programmers.co.kr

function solution(N, stages) {
    var answer = [];
    //실패율
    //배열 요소 : 실패율
    let failRate = [];
    let failIndex = [];
    // 각 stages 실패율 = stages 숫자 갯수 / stages 이상의 숫자 갯수
    for(let i = 0; i <N;i++){
        failIndex[i] = i+1;
        //stage이상의 숫자 갯수
        let failStage = 0;
        //현재 스테이지stage
        let currentStage = 0;
        for (let k = 0; k<stages.length;k++)
            //라운드와 스테이지 요소값이 같은경우
            if(stages[k] == i+1){
                failStage += 1;
                currentStage += 1;
            }
            //라운드보다 스테이지 값이 큰경우
            else if(stages[k] > i+1){
                failStage += 1;
            }
        //failRate 객체 = 스테이지 : 실패율
        failRate[i] = currentStage/failStage
    }
    for(let h = 0; h < failRate.length; h++){
        for (let j = h+1; j <failRate.length; j++){
            //실패율 작으면 바꾸기 
            if(failRate[h] < failRate[j]){
                failIndex[N] = failIndex[h];
                failIndex[h] = failIndex[j];
                failIndex[j] = failIndex[N];
                failIndex.splice(N,1)
                failRate[N] = failRate[h];
                failRate[h] = failRate[j];
                failRate[j] = failRate[N];
                failRate.splice(N,1)
            }
            //인덱스 번호 정렬
             else if(failIndex[h]>failIndex[j]){
                failIndex[N] = failIndex[h];
                failIndex[h] = failIndex[j];
                failIndex[j] = failIndex[N];
                failIndex.splice(N,1)
            }
        }
    }
    answer = failIndex
    return answer;
}
728x90
반응형

'개발 > 알고리즘' 카테고리의 다른 글

[프로그래머스 level 1 JS풀이] 내적  (0) 2022.08.15
[프로그래머스 level 1 JS풀이] 숫자 문자열과 영단어  (0) 2022.08.15
[프로그래머스 level 1 JS] 음양 더하기  (0) 2022.08.15
[프로그래머스 level 1 JS] 신규 아이디 추천  (1) 2022.06.06
[프로그래머스 level 1 JS] 인형뽑기  (0) 2022.06.06
'개발/알고리즘' 카테고리의 다른 글
  • [프로그래머스 level 1 JS풀이] 숫자 문자열과 영단어
  • [프로그래머스 level 1 JS] 음양 더하기
  • [프로그래머스 level 1 JS] 신규 아이디 추천
  • [프로그래머스 level 1 JS] 인형뽑기
TeTedo.
TeTedo.
  • TeTedo.
    TeTedo 개발 일기
    TeTedo.
  • 전체
    오늘
    어제
    • 분류 전체보기 (319)
      • 개발 (274)
        • Article (4)
        • 정리 (21)
        • Spring Boot (17)
        • JPA (2)
        • JAVA (6)
        • Database (4)
        • 자료구조 (11)
        • 알고리즘 (32)
        • React (20)
        • Docker (10)
        • node.js (18)
        • Devops (11)
        • Linux (4)
        • TypeScript (3)
        • Go (10)
        • HyperLedger (4)
        • BlockChain (43)
        • html, css, js (48)
        • CS (3)
        • AWS (3)
      • 모아두고 나중에 쓰기 (3)
      • 팀프로젝트 (18)
        • SNS(키보드워리어) (9)
        • close_sea (9)
      • 개인프로젝트 (1)
        • Around Flavor (1)
        • CHAM (13)
        • ethFruitShop (5)
      • 독서 (0)
        • 스프링부트와 AWS로 혼자 구현하는 웹 서비스 (0)
  • 블로그 메뉴

    • 홈
    • 개발일기
    • CS
    • 실습
    • 코딩테스트
    • 웹
    • Go
    • node.js
    • 팀플
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    블록체인
    html
    React
    30일 챌린지
    프로그래머스
    erc20
    nodejs
    js
    ERC721
    CSS
    go
    go언어
    mysql
    node.js
    명령어
    node
    30일챌린지
    컨테이너
    도커
    하이퍼레저
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
TeTedo.
[프로그래머스 level 1 JS] 실패율
상단으로

티스토리툴바