문제
금지된 단어를 제외한 가장 흔하게 등장하는 단어를 출력하라. 대소문자 구분을 하지 않으며, 구두점(마침표, 쉼표 등)또한 무시한다.
풀이 1) 리스트 컴프리헨션, Counter 객체 사용
입력값에는 대소문자가 섞여 있으며 쉼표 등 구두점이 존재한다. 따라서 데이터 클렌징이라 부르는 입력값에 대한 전처리 작업이 필요하다.
def mostCommonWord(self, paragraph: str, banned : List[str]) -> str:
#단어가 아닌 문자 무시
words = [word for word in re.sub(r'\w','',paragraph)
.lower().split() if word not in banned]
counts = collections.Counter(words)
#가장 흔하게 등장하는 첫 번째 인덱스 리턴
return counts.most_common(1)[0][0]
PREVIOUSLeetCode 49번 <그룹 애너그램>