반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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
Archives
Today
Total
관리 메뉴

undefined

[프로그래머스] 모의고사 -JS 본문

Coding Test

[프로그래머스] 모의고사 -JS

JavaScripter 2022. 6. 11. 17:10
반응형

문제 설명


문제 풀이

function solution(answers) {
    const one = [1,2,3,4,5]
    const two = [2,1,2,3,2,4,2,5]
    const thr = [3,3,1,1,2,2,4,4,5,5]
    
    let arr1 = []
    let arr2 = []
    let arr3 = []
    
    answers.map((e,i) => {
        if(e===one[i%5]) {
            arr1.push(true)
        }
        if(e===two[i%8]) {
            arr2.push(true)
        }
        if(e===thr[i%10]) {
            arr3.push(true)
        }
    })
    const lengthArr = [arr1.length,arr2.length,arr3.length]
    const maxNum = Math.max(...lengthArr)
    const answer = []
  
    for(let i = 0; i < 3; i++) {
        if(maxNum === lengthArr[i]) {
            answer.push(i+1)
        }
    }
    return answer
}

1. answers를 mapping 해준다

 

2. 찍기 배열의 반복을 위해 [i % length]를 해준다

 

3. 찍은 값과 정답이 일치하면 true를 각 arr에 넣어준다

 

4. lengthArr에 arr배열들의 길이를 넣어주고 최댓값을 구해준다

 

5 최댓값과 값이 같으면(=최고득점자) answer에 +1하여 넣어준다.

 


개선 사항

 

반응형
Comments