금지된 단어를제외한 가장 흔하게 등장하는 단어를 출력하라. 대소문자 구분을 하지 않으며, 구두점(마침표, 쉼표 등) 또한 무시한다.
Input:
paragraph = "Bob hit a ball, the hit BALL flew far after it was hit."
banned = ["hit"]
Output: "ball"
class Solution:
def mostCommonWord(self, paragraph: str, banned: List[str]) -> str:
pa_list = []
dic_list = {}
ban_txt = banned[0].replace(',', '').replace('.', '').lower()
text = paragraph.replace(',', '').replace('.', '').lower()
for word in text.split():
if word != ban_txt:
pa_list.append(word)
for i in pa_list:
try :
dic_list[i] += 1
except:
dic_list[i] = 1
count = 1
for j in dic_list:
if dic_list[j] > count:
result = j
count = dic_list[j]
return result
class Solution:
def mostCommonWord(self, paragraph: str, banned: List[str]) -> str:
# List Comprehension과 re를 이용해서 특수문자를 제거하는
# 데이터 클렌징 이라 부르는 입력값에 대한 전처리작업
words = [word for word in re.sub(r'[^\w]', ' ', paragraph)
.lower().split()
if word not in banned]
# Counter 객체를 이용하여 단어 갯수를 저장
counts = collections.Counter(words)
# most_common 메소드를 이용하여 가장 빈번한 단어를 출력
return counts.most_common(1)[0][0]