FrontEnd/프로그래머스

[JS] 성격 유형 검사하기

정_민_규 2023. 4. 16. 13:45
728x90

mbti 점수를 저장해둘 객체를 하나 만든 후에, 질문지에 대한 점수를 카운팅 해서 높여준다.

 

이후 reduce함수를 통해서 더 큰 점수를 받은 것을 mbti 로 정한다.

 

function solution(survey, choices) {
    const mbti = {'R' : 0 , 'T' : 0 , 'C' : 0 , 'F' : 0 , 'J' : 0, 'M' : 0 ,'A' : 0 , 'N' : 0}
    const category = ['RT','CF','JM','AN']
    
    for (let i=0 ; i<survey.length;i++){
        if (choices[i] < 4) mbti[survey[i][0]] += 4-choices[i]
        else mbti[survey[i][1]] += choices[i]-4
    }
    
    return category.reduce((a,c,idx) => a+(mbti[c[0]]>=mbti[c[1]]?c[0]:c[1]),"");
}
728x90