강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

띄융님의 프로필 이미지
띄융

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

6. 학급 회장(Hash Map)

reduce로 객체를 생성한 후 문제를 푸는 방법

작성

·

234

0

선생님 우선 문제를 먼저 풀어봤습니다!

해쉬를 이용해서 풀라고해서

reduce함수를 이용해서 객체를 만들고 key와 value 값을 매핑하는 방식으로 풀었습니다.

만든 객체에서 value값이 최대인 key값을 출력하는 함수를 만들었습니다.

 답은 C가 잘나오기는 하는데, 제가 만든 방식은 혹시 괜찮을까요? 

 

 

function solution(s){  
  let answer;
  let students = [...s];
  let countedNames = students.reduce((prev, curr) => {
    if (curr in prev) prev[curr]++
    else prev[curr] = 1;
    return prev;
  }, {});
  let max = 0;
  for (let x in countedNames) {
    if (max < countedNames[x]) {
      max = countedNames[x];
      answer = x;
    }
  }
  return answer;
}

 

 

 

 

 

 

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

자바스크립트스럽게 잘 하신 코드입니다. 

띄융님의 프로필 이미지
띄융

작성한 질문수

질문하기