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

Kar님의 프로필 이미지
Kar

작성한 질문수

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

6. 학급 회장(Hash Map)

두번째 for문 대신에 sort 사용

작성

·

174

0

안녕하세요~

두번째 for문 대신에 sort를 써서 풀었는데 이렇게 풀어도 괜찮을까요..?

function solution(s) {
  const map = new Map();

  for (let x of s) {
    if (map.has(x)) {
      map.set(x, map.get(x) + 1);
    } else {
      map.set(x, 1);
    }
  }
  const answer = Array.from(map).sort((a, b) => b[1] - a[1]);
  return answer[0][0];
}

let str = 'BACBACCACCBDEDE';
console.log(solution(str));
// C

답변 1

3

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

안녕하세요^^

이 문제 같은 경우에는 알파벳이 5개로 고정되니 정렬을 하나 영상처럼 for문 탐색을 하나 차이가 없습니다.

하지만 입력의 크기 N이 클 겨우 

정렬의 시간복잡도는 O(NlogN)이고 영상처럼 for문 탐색은 O(N)이기때문에 정렬이 더 안좋은 결과를 얻을 수 있다는 점도 알아두시면 좋겠습니다.

Kar님의 프로필 이미지
Kar

작성한 질문수

질문하기