본문 바로가기
문제 풀이/leetcode

[leetcode] most common word

by akatapata 2022. 4. 19.

Most Common Word

  • paragraph와 금지 단어 배열 banned 가 주어질때
  • banned에 속하지 않은 단어중아 가장 많이 나온 단어를 리턴
  • 최소 하나의 단어는 banned 에 속하지 않음을 보장
  • 문자열의 대소문자 구분은 없고 리턴값은 소문자로 이루어진 단어

Solution

1. paragraph를 단어 리스트로 만들기

  • 쉼표, 마침표 등의 문자는 제거
  • 모든 문자를 소문자로 바꾸고 공백 문자를 기준으로 단어로 나누기

2. 단어별 개수

  • Counter로 카운팅
  • banned에 포함된 단어는 버리기

Code

import re
from collections import Counter

class Solution:
    def mostCommonWord(self, paragraph: str, banned: List[str]) -> str:        
        banned = set(banned) 
        words = Counter(word for word in re.sub(r'[^\w]',' ',paragraph).lower().split() if word not in banned)        
        return  max(words,key=words.get)

'문제 풀이 > leetcode' 카테고리의 다른 글

Product of Array  (0) 2022.05.11
[leetcode] Group Anagrams  (0) 2022.04.19
[leetcode] valid palindrome  (0) 2022.02.16
course schedule  (0) 2022.01.21
number of islands  (0) 2022.01.13