매핑 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