[Q4] 가장 흔한 단어

2022. 12. 1. 11:16·코딩테스트/알고리즘

[리트코드 819] Most Common Word

금지된 단어를 제외한 가장 흔하게 등장하는 단어를 출력하라.
대소문자 구분을 하지 않으며, 구두점(마침표, 쉼표 등) 또한 무시한다.

 

Q1 팬린드롬과 같이 먼저 문자열 필터링을 해야한다.

re 라이브러리를 사용하여 문자열만 필터링 한 후, 대소문자 구분을 하지않기 위해 소문자로 변경하여 공백을 기준으로 리스트화 한다.

import re

def mostCommonWord(self, paragraph: str, banned: List[str]) -> str:
        paragraph = re.sub('[^a-zA-Z]', ' ', paragraph).lower().split()

 

여기서 금지된 단어를 제외 해야한다.

paragraph = [string for string in paragraph if not string in banned]

 

그 후 count() 메소드를 이용하여 paragraph 리스트에서 해당 단어의 출현 횟수를 세고 그 값을 counts라는 리스트에 같은 인덱스로 넣어준다.

counts = []

for string in paragraph:
    counts.append(paragraph.count(string))

 

마지막으로 그 중 가장 높은 값의 인덱스를 찾아 paragraph[인덱스]로 리턴해준다.

return paragraph[counts.index(max(counts))]

 

정리하면 다음과 같다.

import re

def mostCommonWord(self, paragraph: str, banned: List[str]) -> str:
    paragraph = re.sub('[^a-zA-Z]', ' ', paragraph).lower().split()

    paragraph = [string for string in paragraph if not string in banned]

    counts = []

    for string in paragraph:
        counts.append(paragraph.count(string))

    return paragraph[counts.index(max(counts))]

 

'코딩테스트 > 알고리즘' 카테고리의 다른 글

[Q7] 두 수의 합  (0) 2022.12.17
[Q6] 가장 긴 팰린드롬 부분 문자열  (0) 2022.12.01
[Q3] 로그파일 재정렬  (0) 2022.12.01
[Q2] 문자열 뒤집기  (0) 2022.11.30
[Q1] 유효한 팰린드롬  (0) 2022.11.30
'코딩테스트/알고리즘' 카테고리의 다른 글
  • [Q7] 두 수의 합
  • [Q6] 가장 긴 팰린드롬 부분 문자열
  • [Q3] 로그파일 재정렬
  • [Q2] 문자열 뒤집기
뚝딱뚝딱2
뚝딱뚝딱2
  • 뚝딱뚝딱2
    개발도상국
    뚝딱뚝딱2
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 공부
        • Java
        • Spring Boot
        • LORA
      • Web
        • 인스타 클론 코딩
        • GPT 응답 API 서버
        • Spring Boot 예외 처리
        • 코테 준비용 서비스 만들기
      • DevOps
        • 쿠버네티스
        • 서버 만들기
      • 코딩테스트
        • 알고리즘
      • 교육
        • 스파르타코딩클럽 - 내일배움단
        • 혼자 공부하는 컴퓨터 구조 운영체제
      • 잡다한것
  • 블로그 메뉴

    • 홈
  • 링크

    • GITHUB
  • 공지사항

  • 인기 글

  • 태그

    chat GPT
    Entity
    OpenAI API
    쿠버네티스
    오블완
    티스토리챌린지
    리액트
    react
    예외
    백준
    인스타그램
    spring boot
    MSA
    Java
    스프링 부트
    클러스터
    mapstruct
    REST API
    스프링부트
    클론코딩
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
뚝딱뚝딱2
[Q4] 가장 흔한 단어
상단으로

티스토리툴바