>  기사  >  웹 프론트엔드  >  JavaScript에서 대괄호 분수 찾기

JavaScript에서 대괄호 분수 찾기

WBOY
WBOY앞으로
2023-09-01 18:17:081107검색

在 JavaScript 中查找括号分数

Question

균형 대괄호 문자열 str을 첫 번째이자 유일한 매개변수로 받아들이는 JavaScript 함수를 작성해야 합니다.

우리 함수는 다음 규칙에 따라 문자열의 점수를 계산하고 반환해야 합니다.

  • []의 점수는 1

  • AB의 점수는 A + B입니다. 여기서 A와 B는 대괄호입니다. 문자열.
  • [A]의 점수는 2 * A입니다. 여기서 A는 대괄호 문자열입니다.

예를 들어 함수의 입력이

input

const str = '[][]';

output

const output = 2;

Example

여기에 코드가 있습니다 -

const findScore = (str = '') => {
   const arr = []
   for(const char of str) {
      arr.push(char)
      while(arr[arr.length - 1] === ']') {
         arr.pop()
         if(arr[arr.length - 1] === '[') {
            arr.pop() arr.push(1)
         } else {
            let num = arr.pop()
            while(arr[arr.length - 1] >= 1) {
               num += arr.pop()
            }
            arr.pop()
            arr.push(2 * num)
         }
      }      
   }
   return arr.reduce((acc, a) => acc + a, 0)
};
console.log(findScore(str));

output

2

위 내용은 JavaScript에서 대괄호 분수 찾기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제