55. 프로그래머스(1단계) - 직업군 추천하기

성훈·2021년 9월 12일
0

Algorithm

목록 보기
55/61
post-thumbnail

📌 문제의 조건

📌 풀이

풀이 👨‍💻

function solution(table, languages, preference) {
  table = table.map((e) => e.split(" "));

  let highestNum = 0;
  let highestLang = [];

  const score = {};
  for (let i = 0; i < languages.length; i++) {
    for (let j = 0; j < table.length; j++) {
      score[table[j][0]] =
        table[j].indexOf(languages[i]) !== -1
          ? score[table[j][0]]
            ? score[table[j][0]] +
              (6 - table[j].indexOf(languages[i])) * preference[i]
            : (6 - table[j].indexOf(languages[i])) * preference[i]
          : score[table[j][0]];
    }
  }
  for (let key in score) {
    if (score[key] > highestNum) {
      highestNum = score[key];
      highestLang = [key]
    } else if(score[key] === highestNum){
      highestLang.push(key)
    }
  }
  return highestLang.sort()[0]
}

📌 리뷰

table의 각 요소를 languages의 요소에 맞춰서 순회시켜서 문제를 해결했다.
문제를 제대로 안읽어서 솔트를 안해주는 바람에 시간을 꽤나 잡아먹었다.

📌 문제 출처

출처: 프로그래머스 코딩 테스트 연습,

https://programmers.co.kr/learn/challenges#

profile
어떻게 이걸 풀어낼 수 있을까

0개의 댓글