마법의 문자열 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) === '2' ? '1' : '2'; 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));
콘솔의 출력은 -
3
위 내용은 매직 스트링: JavaScript의 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!