[프로그래머스] 성격 유형 검사하기 (JS)

hhkim·2023년 7월 22일
0

Algorithm - JavaScript

목록 보기
72/188
post-thumbnail

풀이 과정

  1. survey 배열의 각 요소에 대해 반복
  2. choices의 점수를 가지고 남을 알파벳과 점수를 맵에 저장

코드

function solution(survey, choices) {
  const map = new Map();
  [...'RTCFJMAN'].forEach((c) => map.set(c, 0));

  for (let i = 0; i < survey.length; ++i) {
    if (choices[i] === 4) continue;
    const score = Math.abs(choices[i] - 4);
    if (choices[i] < 4) map.set(survey[i][0], map.get(survey[i][0]) + score);
    else map.set(survey[i][1], map.get(survey[i][1]) + score);
  }

  let result = '';
  result += map.get('T') > map.get('R') ? 'T' : 'R';
  result += map.get('F') > map.get('C') ? 'F' : 'C';
  result += map.get('M') > map.get('J') ? 'M' : 'J';
  result += map.get('N') > map.get('A') ? 'N' : 'A';
  return result;
}

0개의 댓글