개발/알고리즘 & 코딩테스트

⏳문자열에서 가장 많이 등장한 문자 찾기

글쓰는쿼카 joymet33 2024. 5. 26. 22:27

0. 기본 정보

- 학습일: 2024. 5. 25.(토)

- 출처: 스파르타 부트캠프 알고리즘 탐험반(1주차 문자열)


문제 2-1. 문자열에서 가장 많이 등장한 문자 찾기

// 문자열에서 가장 많이 등장한 문자 찾기
// 문제 정의:
// 주어진 문자열에서 가장 많이 등장하는 문자를 반환하라. 만약 여러 개라면 그 중 아무거나 반환하라.

// 조건:

// 대소문자를 구분한다.
// 공백도 하나의 문자로 간주한다.

// 예시:

// 입력: "banana"
// 출력: 'a'

 

나의 답변 2-1)

  • 이전과 동일한 방법 : 빈 객체 answer, for문 안에 if문( ...없으면 1로 선언, 있으면 +1 증감)
    --------------------------------------------------------------------------------------------------------------------
  • 객체 answer의 key-value 중 가장 큰 value(값)의 key 반환하기
  • 정답을 저장할 빈 문자열 선언: mostChar
  • for (key of keys)문으로 객체 answer의 키 갯수만큼 함수 반복
  • 매서드 Object.keys() 사용 --- 자세한 건 아래 참고
function mostFrequentChar(s) {
  const answer = {};
  let mostChar = s[0];
  for (let i = 0; i < s.length; i++) {
    if (!answer[s[i]]) {
      answer[s[i]] = 1;
    } else {
      answer[s[i]] += 1;
    }
  }

  for (key of Object.keys(answer)) {
    if (answer[mostChar] < answer[key]) {
      mostChar = key;
    }
  }

  return mostChar;
}