> 웹 프론트엔드 > JS 튜토리얼 > Codewars - 중복 계산

Codewars - 중복 계산

Susan Sarandon
풀어 주다: 2025-01-04 19:21:41
원래의
348명이 탐색했습니다.

안녕하세요.

Codewars - Counting Duplicates

이번 시리즈에서는 Codewars의 도전 과제와 저의 사고 과정을 포스팅하고 있습니다. 가능할 때마다 JS와 Node 18을 사용하고 있습니다. 명확성을 위해 공정하게 사용하고 있습니다.

'중복 횟수 계산' 챌린지는 다음과 같이 시작하겠습니다.

function duplicateCount(text){
  text = text.toString();
  let countTotal = {"max":0};
  let letter = '';
  for (let i=0 ; i < text.length ; i++){
    letter = text.at(i).toLowerCase();
    if (letter){
      countTotal[letter] = countTotal[letter] ? countTotal[letter]++ : 1;
      if (countTotal[letter] > countTotal["max"]){
        countTotal["max"] = countTotal[letter];
      }
    }
  }
  return countTotal["max"];
}
로그인 후 복사

말이... 장황한 것 같네요. 이 많은 말이 실제로 올바른 방향을 향하고 있는지 궁금합니다. 스스로 생각해 보실 수 있도록 잠시 시간을 드리겠습니다.

3...

2...

1...

1/2...

1/4...

그렇습니다. 이 정도면 충분하다고 생각합니다. 아니요. Bay Area의 속어가 웹에 등장했으니 엄청 틀렸어요

중복된 ​​편지가장 많이 중복된 편지가 몇 개나 있는지 알아보고 있었습니다. 중복된 유형이 몇 개 있는지 답해야 합니다. 대소문자를 구분하지 않습니다.

AbC -> 0 -> 문자가 반복되지 않습니다
AbCC -> 1 -> "C"가 반복됩니다. 몇 번이든 상관없습니다
AbBCC -> 2 -> "b"와 "c"가 반복됩니다. 몇 번이나 대소문자는 상관하지 않습니다

JS의 객체 리터럴을 활용하여 각 문자에 대한 카운터를 만들 수 있습니다. 그러면 한 가지 속성은 "반복"이 될 수 있는데, 이는 문자가 두 번 나타날 때마다 올라가는 카운터가 될 것입니다.

if (countTotal[letter]==2){
        countTotal.repetitions++;
      }
로그인 후 복사

전체 솔루션:

function duplicateCount(text){
  text = text.toString();
  let countTotal = {"repetitions": 0};
  let letter = '';
  for (let i=0 ; i < text.length ; i++){
    letter = text.at(i).toLowerCase();
    if (letter){
      (countTotal[letter] === undefined) ? countTotal[letter] = 0 : null;
      countTotal[letter]++;
      if (countTotal[letter]==2){
        countTotal.repetitions++;
      }
    }
  }
  return countTotal["repetitions"];
}
로그인 후 복사

시간이 좀 걸렸지만 개선될 수 있습니다.

조심하세요. 물을 마셔요???.

이전

위 내용은 Codewars - 중복 계산의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿