Skip to content

Commit 2ca3a2f

Browse files
authored
Merge pull request #1805 from std-freejia/main
[std-freejia] week 03 solutions
2 parents 887f3dd + e808180 commit 2ca3a2f

File tree

3 files changed

+42
-0
lines changed

3 files changed

+42
-0
lines changed

โ€Ždecode-ways/std-freejia.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
class Solution {
2+
public int numDecodings(String s) {
3+
// 0 ์œผ๋กœ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ๋นˆ ๋ฌธ์ž์—ด์ด๋ฉด ํ•ด๋…๋ถˆ๊ฐ€
4+
int sLen = s.length();
5+
if (sLen == 0 || s.charAt(0) == '0') return 0;
6+
7+
int[] dp = new int[sLen+1];
8+
9+
dp[0] = 1;
10+
dp[1] = 1;
11+
12+
for (int i = 2; i <= sLen; i++) {
13+
14+
int num = Integer.parseInt(s.substring(i-2, i));
15+
// 1์ž๋ฆฌ ์ˆซ์ž๋กœ ํ•ด๋… ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ
16+
if (s.charAt(i-1) != '0') {
17+
dp[i] += dp[i-1];
18+
}
19+
// 2์ž๋ฆฌ ์ˆซ์ž๋กœ ํ•ด๋… ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ
20+
if (num >= 10 && num <= 26) {
21+
dp[i] += dp[i-2];
22+
}
23+
}
24+
return dp[sLen];
25+
}
26+
}

โ€Žnumber-of-1-bits/std-freejia.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Solution {
2+
public int hammingWeight(int n) {
3+
int count = 0;
4+
while (n > 0) {
5+
if ((n & 1) == 1) count++;
6+
n >>= 1;
7+
}
8+
return count;
9+
}
10+
}

โ€Žvalid-palindrome/std-freejia.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
class Solution {
2+
public boolean isPalindrome(String s) {
3+
String alphabetOnly = s.replaceAll("[^a-zA-Z0-9]", "").toLowerCase();
4+
return new StringBuilder(alphabetOnly).reverse().toString().equals(alphabetOnly);
5+
}
6+
}

0 commit comments

Comments
ย (0)