leetcode(리트코드)91-Decode Ways
leetcode(리트코드)91-Decode Ways
leetcode 91 - Decode Ways 문제입니다.
1. 문제
https://leetcode.com/problems/decode-ways/
2. Input , Output
3. 분류 및 난이도
Medium 난이도 문제입니다.
https://www.teamblind.com/post/New-Year-Gift---Curated-List-of-Top-75-LeetCode-Questions-to-Save-Your-Time-OaM1orEU에서 추천한 문제입니다.
4. 문제 해석
- DP문제입니다.
- 프로그래머스에 비슷한 문제가 있었던 것 같은데..
- ‘0’에 대한 처리를 잘 해주면 특이하게 어려울 건 없는 문제입니다.
5. code
c++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Solution {
public:
int numDecodings(string s) {
if(s[0]=='0')
return 0;
if(s.size()==1) {
return 1;
}
int* DP= new int[s.size()+1];
DP[0]=1;
DP[1]=1;
for(size_t i =2;i<=s.size();++i){
if(s[i-1]!='0')
DP[i] = DP[i-1];
else
DP[i]=0;
string temp ="";
temp+=s[i-2];
temp+=s[i-1];
int con = stoi(temp);
if(con<=26 && con>=10)
DP[i] += DP[i-2];
}
return DP[s.size()];
}
};
6. 결과 및 후기, 개선점
코드에 대한 설명이 필요하신 분은 댓글을 달아주세요.!!
This post is licensed under CC BY 4.0 by the author.