문제 풀이/leetcode
[leetcode] most common word
by akatapata
2022. 4. 19.
- 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)