문제

c++로 split하기 귀찮음 + js 연습해볼 겸 처음으로 자바스크립트로 문제를 풀어봤다. 코드는 여전히 c++스럽긴 하지만..

function solution(table, languages, preference) {
    let answer = '';
    let score = 0;
    
    let langTable  = new Map();
    let catTable = new Map();
    
    for(let i = 0;  i < languages.length; i++) langTable.set(languages[i], parseInt(preference[i]));

    for(let str of table) {
        const arr = str.split(" ");
        const cat = arr[0];
    
        catTable.set(cat, 0);

        for(let i = 1; i < 6; i++) {
            let now = catTable.get(cat);
            if(langTable.has(arr[i])) catTable.set(cat, now + (6 - i) * langTable.get(arr[i]));
        }   
    }

    for(const [key, value] of catTable) {
        console.log("key:", key, ", value:", value);
        if(score < value) {
            answer = key;
            score = value;
        }
        else if(score === value) answer = (answer < key ? answer : key);
    }
        
    return answer;
}