FrontEnd/프로그래머스

[JS] 성격 유형 검사하기

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

'FrontEnd > 프로그래머스' 카테고리의 다른 글

[JS] 숫자 문자열과 영단어  (0) 2023.04.17
[JS] 신고 결과 받기  (0) 2023.04.17
[JS] 숫자 짝꿍 (쉬운풀이 ?)  (0) 2023.04.13
[JS] 삼총사  (0) 2023.04.12
[JS] 콜라 문제  (0) 2023.04.11