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;
}
'알고리즘' 카테고리의 다른 글
[Java] 백준 1654번 랜선 자르기 (0) | 2023.02.23 |
---|---|
[JavaScript] 프로그래머스 - 등산코스 정하기 (0) | 2023.02.22 |
[JavaScript] 프로그래머스 - 두 큐 합 같게 만들기 (0) | 2023.02.22 |
[JavaScript] 프로그래머스 - 코딩 테스트 공부 (0) | 2023.02.22 |
[Java] SWEA - 무선 충전 (0) | 2023.02.22 |