์•ŒํŒŒ์ฝ”๋“œ

์„ฑ๊ณต์—ฌ๋ถ€
NO
๊ฑธ๋ฆฐ์‹œ๊ฐ„(๋ถ„)
์ •๋ฆฌ
์ง„ํ–‰ ์ค‘
๋ฌธ์ œ์ถœ์ฒ˜
์ œ๋กœ๋ฒ ์ด์Šค
์ƒ์„ฑ ์ผ์‹œ
Apr 13, 2025 01:53 PM

1๏ธโƒฃ ๋ฌธ์ œ

 

2๏ธโƒฃ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต

 

3๏ธโƒฃ ์ฝ”๋“œ ๋ฐ ์„ค๋ช…

๋‚ด ์ฝ”๋“œ
function solution(s) { var answer = new Set([]); function dfs(curIdx, arr) { if (curIdx === s.length) { console.log(arr); return; } for (let count = 1; count <= 2; count++) { if (curIdx + count > s.length) { break; } let newStr = Array.from(s).slice(curIdx, curIdx + count); const slicedNum = Number(newStr.join("")); if (slicedNum > 0 && slicedNum <= 26) { dfs(curIdx + count, [...arr, slicedNum]); } } } dfs(0, []); return answer.size; }
 
๋ชจ๋ฒ” ์ฝ”๋“œ
function solution(s) { const n = s.length; if (n === 0) return 0; // dp[i]: s[0...i-1]๊นŒ์ง€ ํ•ด๋…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜ const dp = Array(n + 1).fill(0); dp[0] = 1; // ๋นˆ ๋ฌธ์ž์—ด์€ 1๊ฐ€์ง€ ๋ฐฉ๋ฒ•(์•„๋ฌด๊ฒƒ๋„ ์•ˆ ๋ฝ‘์Œ) dp[1] = s[0] !== "0" ? 1 : 0; // ์ฒซ๊ธ€์ž๊ฐ€ 0์ด ์•„๋‹ˆ๋ผ๋ฉด 1๊ฐ€์ง€ for (let i = 2; i <= n; i++) { // ํ•œ ์ž๋ฆฌ ๋ณ€ํ™˜ let one = +s[i - 1]; if (one >= 1 && one <= 9) { dp[i] += dp[i - 1]; } // ๋‘ ์ž๋ฆฌ ๋ณ€ํ™˜ let two = +s.slice(i - 2, i); if (two >= 10 && two <= 26) { dp[i] += dp[i - 2]; } } return dp[n]; }
 

4๏ธโƒฃ ์‹œ๊ฐ„๋ณต์žก๋„