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

이수동·2021년 12월 17일
0

프로그래머스 Level 1 - 완주하지 못한 선수


📌 문제 설명


📌 생각한 풀이 방법

  1. participant에 존재하는 이름만큼 더함
  2. completion에 존재하는 이름만큼 뺌
  3. 횟수가 0보다 클때 해당 이름을 반환함

📌 풀이

function solution(participant, completion) {
  let obj = {};
  let answer = "";

  // participants에 나온 이름의 횟수만큼 obj에 저장함
  for (let i = 0; i < participant.length; i++) {
    if (obj[participant[i]]) {
      obj[participant[i]]++;
    } else {
      obj[participant[i]] = 1;
    }
  }

  // completion에 나온 이름의 횟수만큼 obj에 저장된 값에서 뺌
  for (let i = 0; i < completion.length; i++) {
    obj[completion[i]]--;
  }

  // obj의 횟수가 0보다 큰 경우 answer로 반환함
  for (let i = 0; i < participant.length; i++) {
    if (obj[participant[i]] > 0) {
      answer = participant[i];
    }
  }

  return answer;
}
profile
기록을 통한 성장하기 🧐

0개의 댓글