CodingSpace

프로그래머스#50(Lv.1)_모의고사 본문

프로그래머스/Level1

프로그래머스#50(Lv.1)_모의고사

개발자_조이킴 2021. 11. 4. 11:22

모의고사

다른 분들이 하신것 보고 배우고 또 배우자! (filter 메소드!)

 

 

포기하지말고 계속해서 공부하자!

화이팅:)

 

입출력 예시

 

// 프로그래머스 - 모의고사

function solution(answers) {
    
    // 수포자 1,2,3번의 총 정답수를 담을 배열 선언
    let cnt = [0, 0, 0]
    
    // 각 수포자의 정답 마킹규칙
    let arr1 = [1, 2, 3, 4, 5]
    let arr2 = [2, 1, 2, 3, 2, 4, 2, 5]
    let arr3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]

    idx = 0
    
    // answers의 길이가 0이 될때까지 while문을 돌려준다.
    while(newReserve.length > 0) {
        
        // answers 맨 앞의 요소를 head에 할당
        // answers 맨 앞의 요소는 제거 (하나씩 차감)
        let head = answers.shift()
        
        // 1번 수포자
        if(head === arr1[idx % 5]) cnt[0]++

        // 2번 수포자
        if(head === arr2[idx % 8]) cnt[1]++

        // 3번 수포자
        if(head === arr3[idx % 10]) cnt[2]++

        idx++
    }

    // 전체학생 수 n에서 여벌의 체육복을 받지 못한 친구들의 명수(lost.length)를 뺴준다
    let maxNum = Math.max(...cnt)
    let result = []

    for(let i = 0; i < cnt.length; i++) {
         if(maxNum === cnt[i]) result.push(i + 1)
    }

    return result
}

 

<다른분의 solution>

 

 

Comments