공부기록/자바스크립트 코딩테스트

[프로그래머스/JS] 완주하지 못한 선수

_우지 2022. 6. 16. 20:34

문제링크

 

코딩테스트 연습 - 완주하지 못한 선수

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수

programmers.co.kr

 

배운점

자바스크립트 Map 은 key, value 값에 for of 로 접근 할 수 있었다.

// Map(3) { 'leo' => 1, 'kiki' => 0, 'eden' => 0 }

for (const [key, value] of report) {
    if (value > 0) {
      answer = key;
    }

 

문제풀이

participant = ["leo", "kiki", "eden"];
completion = ["eden", "kiki"];
function solution(participant, completion) {
  var answer = "";
  let report = new Map();
  participant.map((el) => {
    report.set(el, report.get(el) + 1 || 1);
  });
  completion.map((el) => {
    report.set(el, report.get(el) - 1 || 0);
  });
  for (const [key, value] of report) {
    if (value > 0) {
      answer = key;
    }
  }
  return answer;
}

solution(participant, completion);