끄적끄적 코딩
article thumbnail
728x90

2022 KAKAO TECH INTERNSHIP

성격유형 검사로 총 8개의 유형들이 있습니다.
2개씩 짝을 이루며 총 4개의 그룹으로 R/T, C/F, J/M, A/N으로 나타낼 수 있습니다.
질문에 대한 답변이 있을 때 최종적으로 어떤 유형인지 찾는 문제입니다.

점수에 따라서 해당 유형에 점수를 더해주고 모든 점수를 계산했다면 어떤 유형이 더 높은지 비교합니다.
같다면 알파벳순으로 더 빠른 것을 골라서 나온 유형을 출력해주었습니다.

function solution(survey, choices) {
    let answer = '';
    let arr = ["R", "T", "C", "F", "J", "M", "A", "N"];
    let val = [0, 0, 0, 0, 0, 0, 0, 0];
    for(let i=0; i<survey.length; ++i){
        if(choices[i] < 4){
            for(let j=0; j<arr.length; ++j){
                if(survey[i][0] == arr[j]){
                    val[j] += 4 - choices[i];       
                }
            }
        } else if(choices[i] > 4){
            for(let j=0; j<arr.length; ++j){
                if(survey[i][1] == arr[j]){
                    val[j] += choices[i] - 4;       
                }
            }
        }
    }
    for(let i=0; i<4; ++i){
        if(val[i*2] < val[i*2+1]){
            answer += arr[i*2+1];
        } else if(val[i*2] >= val[i*2+1]) {
            answer += arr[i*2];
        } 
    }
    return answer;
}

검색 태그