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

1

Problem Solving

목록 보기
37/49
post-thumbnail

https://school.programmers.co.kr/learn/courses/30/lessons/118666

풀이

  1. 각 성격유형을 Map으로 만든다.
  2. 점수-4가 0보다 크면 1번째 인덱스의 성격유형이 점수를 얻고, 0보다 작으면 0번째 인덱스의 성격유형이 점수를 얻는다.
  3. value값을 기준으로 answer에 담으면된다.
function solution(survey, choices) {
    let table = new Map();
    Array("R","T","C","F","J","M","A","N").forEach(e=>table.set(e,0));
    survey.forEach((e,i)=>{
        let score = choices[i]-4;
        if(score>0){
            table.set(e[1], table.get(e[1])+score);
        }else if(score<0){
            table.set(e[0], table.get(e[0])+Math.abs(score));
        }
    })
    
    let answer = "";
    Array("RT","CF","JM","AN").forEach((e)=>{
        answer += [...e].sort((a,b)=>table.get(b)-table.get(a))[0];
    })
    return answer;
}

0개의 댓글