ericagong / algorithm_solving

2 stars 0 forks source link

[구현] 성격 유형 검사하기 #68

Open ericagong opened 1 year ago

ericagong commented 1 year ago

⭐ 성찰

  1. 때때로 하드 코딩이 가장 간편한 코딩테스트 풀이 방법임을 명심하기 -> 기꺼이 하드코딩하는 자세

❓ 문제 상황

성격 유형 검사하기

👨‍💻 문제 해결

✅ 1차 풀이: 객체에 점수 계산하여 비교

  1. 점수를 계산하는 별도의 객체 설정
  2. survey를 순회하며 적절한 성격 유형에 점수 가산
  3. 최종 점수에 따라 성격 유형 반환

    
    function solution(survey, choices) {
    let dict = {'R': 0, 'T': 0, 'C': 0, 'F': 0,
               'J': 0, 'M': 0, 'A': 0, 'N':0};
    const score = [0, 3, 2, 1, 0, 1, 2, 3];
    
    for(let i = 0; i < survey.length; i++) {
        if(choices[i] <= 3) {
            dict[survey[i][0]] += score[choices[i]]
        }
        else if(choices[i] >= 5) {
            dict[survey[i][1]] += score[choices[i]]
        }
    }
    
    let result = ''
    if(dict['R'] >= dict['T']) result += 'R'
    else result += 'T'
    if(dict['C'] >= dict['F']) result += 'C'
    else result += 'F'
    if(dict['J'] >= dict['M']) result += 'J'
    else result += 'M'
    if(dict['A'] >= dict['N']) result += 'A'
    else result += 'N'
    
    return result

}