Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 가능한 조합 및 알파벳 알고리즘으로 변환


매핑 a =1, b =2, ... z =26 및 인코딩된 메시지가 있다고 가정합니다. 메시지를 받는 JavaScript 함수를 작성해야 합니다.

함수는 디코딩할 수 있는 방법의 수를 계산해야 합니다.

예를 들어, 메시지 '111'은 'aaa, 'ka' 및 'ak'로 디코딩될 수 있으므로 3을 제공합니다.

예시

이에 대한 코드는 -

const waysToProcess = ( message, ways = 0 ) => {
   if ( message.length ) {
      ways = waysToProcess( message.slice( 1 ,message.length), ways );
      const numCurr = parseInt( message[0] );
      const numNext = "undefined" === typeof message[1] ? null :
      parseInt(message[1]);
      if ( numCurr && numNext
         && numCurr < 3
         && ( numCurr + numNext ) < 27
      ) {
         ways = waysToProcess( message.slice( 2 ,message.length), ways );
      }
   } else {
      ways++;
   }
   return ways;
}
console.log(waysToProcess('111'));

출력

콘솔의 출력은 -

3