[leetcode] 가장 흔 한 단어 [javascript]
5913 단어 leetcode
묘사 하 다.
단락 (paragraph) 과 사용 하지 않 는 단어 목록 (banned) 을 지정 합 니 다.목록 에 없 는 단 어 를 되 돌려 줍 니 다.문 제 는 최소한 한 단어 가 비활성화 목록 에 있 지 않 고 답 이 유일 하 다 는 것 을 보증한다.목록 에 있 는 단 어 를 소문 자로 표시 하지 않 고 문장 부 호 를 포함 하지 않 습 니 다.단락 의 단 어 는 대소 문 자 를 구분 하지 않 는 다.답 은 모두 소문 자 이다.예시:
:
paragraph = "Bob hit a ball, the hit BALL flew far after it was hit."
banned = ["hit"]
: "ball"
:
"hit" 3 , 。
"ball" 2 ( 2 ), , 。
, , ( , "ball,"),
"hit" , , 。
설명:
1 <= <= 1000
. 1 <= <= 100
. 1 <= <= 10
. paragraph
에서 대문자 라 도 특정한 명사 라 도 답 은 소문 자 이다.) paragraph
자모, 빈 칸 과 아래 문장 부호 만 포함 !?',;.
분석 하 다.
먼저 문장 부 호 를 걸 러 내 고 소문 자 를 바 꾼 다음 빈 칸 에 따라 배열 로 나 눕 니 다.
이 어 전체 배열 을 옮 겨 다 니 며 banned 에 현재 옮 겨 다 니 는 값 이 있 으 면 contine 합 니 다.
각 값 이 나타 나 는 횟수 를 대상 으로 저장 합 니 다.
마지막 으로 이 대상 을 옮 겨 다 니 며 최대 값 을 찾 습 니 다.
var mostCommonWord = function(paragraph, banned) {
paragraph = paragraph.replace(/[\.,\?;\'\!]/g, ' ').toLocaleLowerCase().split(' ')
let obj = {}, max = {value: 0}
for (let i = 0; i < paragraph.length; i++) {
if (paragraph[i] === '' || banned.includes(paragraph[i])) continue
obj[paragraph[i]] = obj[paragraph[i]] ? obj[paragraph[i]] + 1 : 1
}
for (let i in obj) {
if (obj[i] >= max.value) {
max.key = i
max.value = obj[i]
}
}
return max.key
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
0부터 시작하는 LeetCode Day8 「1302. Deepest Leaves Sum」해외에서는 엔지니어의 면접에 있어서 코딩 테스트라고 하는 것이 행해지는 것 같고, 많은 경우, 특정의 함수나 클래스를 주제에 따라 실장한다고 하는 것이 메인이다. 빠른 이야기가 본고장에서도 행해지고 있는 것 같은 코...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.