기본 정렬 및 객체 정의해서 풀 수 있는 문제
function solution(table, languages, preference) {
var answer = '';
let obj = {};
table.forEach((t)=>{
let line = t.split(" ");
let first = line[0];
let arr = line.slice(1);
obj[first] = arr;
});
let arr = [];
for(const [key, value] of Object.entries(obj)){
let sum = 0;
languages.forEach((language, idx)=>{
let index = obj[key].indexOf(language);
let grade = 0;
if(index != -1 ){
grade = 5-index;
}
sum += grade * preference[idx]
});
// console.log(sum)
arr.push([key, sum]);
}
arr.sort((a1,a2)=>{
let val1 = a1[1];
let val2 = a2[1];
if(val1===val2){
if(a1[0] < a2[0]){
return -1;
}
else if(a1[0] > a2[0]){
return 1;
}
else {
return 0;
}
}
else {
return val2-val1;
}
});
//console.log(arr)
return arr[0][0];
}