😎풀이

  1. text의 모든 문자 순회
    1-1. 빈도 확인
  2. balloon의 문자 빈도 확인
    2-1. 중복 등장하는 lo의 경우 2로 나누어 계산
  3. 각 문자의 최소 값을 확인하여 온전히 완성될 수 있는 balloon 수 계산
function maxNumberOfBalloons(text: string): number {
    const frequent = new Map<string, number>()
    for(const char of text) {
        frequent.set(char, (frequent.get(char) ?? 0) + 1)
    }
    const b = frequent.get('b') ?? 0
    const a = frequent.get('a') ?? 0
    const l = Math.floor((frequent.get('l') ?? 0) / 2)
    const o = Math.floor((frequent.get('o') ?? 0) / 2)
    const n = frequent.get('n') ?? 0
    return Math.min(b, a, l, o, n)
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글