매직 스트링: JavaScript의 문제

王林
풀어 주다: 2023-09-08 12:17:05
앞으로
1017명이 탐색했습니다.

神奇的字符串:JavaScript 中的问题

Question

마법의 문자열 str은 '1'과 '2'로만 구성되며 다음 규칙을 따릅니다.

문자열 str은 숫자 '1'과 '2'를 연결하기 때문에 마술적입니다. 발생하면 문자열 str 자체가 생성됩니다.

문자열 str의 처음 몇 가지 요소는 다음과 같습니다. -

str = "1221121221221121122……"
로그인 후 복사

str에서 연속된 '1'과 '2'를 그룹화하면 다음과 같습니다.-

1 22 11 2 1 22 1 22 11 2 11 22 ......
로그인 후 복사

각 그룹에서 '1' 또는 '2'가 발생합니다. 정도는 -

1 2 2 1 1 2 1 2 2 1 2 2 ......
로그인 후 복사

위의 발생 순서가 문자열 자체임을 알 수 있습니다.

입력으로 정수 num이 주어지고 문자열의 첫 번째 num에 있는 '1'의 수를 반환해야 합니다. 마법의 문자열 str.

예를 들어, 함수의 입력이 -

const num = 6;
로그인 후 복사

인 경우 출력은 -

const output = 3;
로그인 후 복사

이어야 합니다. 출력 설명:

마법 문자열 S의 처음 6개 요소는 "12211"이며, 이는 3개의 1을 포함합니다. 3이 반환됩니다.

코드는 -

라이브 데모

const num = 6;
const magicalString = (num = 1) => {
   let ind = 12;
   let str = '1221121221221121122';
   while(str.length < num){
      const end = str.substring(str.length - 1) === &#39;2&#39; ? &#39;1&#39; : &#39;2&#39;;
      str = parseInt(str.substring(ind, ind + 1)) === 2 ? str + end + end : str + end;
      ind++;
   };
   return (str.substring(0, num).match(/1/g)||[]).length;
};
console.log(magicalString(num));
로그인 후 복사

Output

콘솔의 출력은 -

3
로그인 후 복사
입니다.

위 내용은 매직 스트링: JavaScript의 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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