Skip to content

Commit 3c1b105

Browse files
committed
decode way solution
1 parent 36f10c9 commit 3c1b105

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

decode-ways/byol-han.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/**
2+
* @param {string} s
3+
* @return {number}
4+
*/
5+
var numDecodings = function (s) {
6+
if (!s || s[0] === "0") return 0;
7+
8+
const n = s.length;
9+
const dp = Array(n + 1).fill(0);
10+
11+
dp[0] = 1; // 빈 문자열은 1가지 방법
12+
dp[1] = 1; // 첫 글자가 0이 아니면 1가지 방법
13+
14+
for (let i = 2; i <= n; i++) {
15+
const oneDigit = parseInt(s.slice(i - 1, i));
16+
const twoDigits = parseInt(s.slice(i - 2, i));
17+
18+
if (oneDigit >= 1 && oneDigit <= 9) {
19+
dp[i] += dp[i - 1];
20+
}
21+
if (twoDigits >= 10 && twoDigits <= 26) {
22+
dp[i] += dp[i - 2];
23+
}
24+
}
25+
26+
return dp[n];
27+
};

0 commit comments

Comments
 (0)