Skip to content

Commit cf5cf45

Browse files
add: weekly two ps start
1 parent f38c7af commit cf5cf45

File tree

2 files changed

+80
-0
lines changed

2 files changed

+80
-0
lines changed

climbing-stairs/YoungSeok.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
2+
// NOTE: 백준 N과 M문제와 거의 동일한 문제
3+
// memo(n) = memo(n-1)의 경우에 수에서 1칸을 올라가는 경우 + memo(n-2) 의 경우의 수에서 2 칸을 올라가는 경우의 점화식으로 표현됨.
4+
5+
6+
// 시간 복잡도: O(n)
7+
class Solution {
8+
public int climbStairs(int n) {
9+
int[] memo = new int[n + 1];
10+
11+
12+
if(n < 3) {
13+
return n;
14+
}
15+
16+
memo[1] = 1;
17+
memo[2] = 2;
18+
for(int i = 3; i < memo.length; i++) {
19+
memo[i] = memo[i - 1] + memo[i - 2];
20+
}
21+
22+
return memo[n];
23+
}
24+
}

valid-anagram/YoungSeok-Choi.java

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
import java.util.HashMap;
2+
import java.util.Map;
3+
4+
5+
// NOTE: anagram 자체를 정확하게 이해하지 못해서 몇 번 틀렸던 문제.
6+
// 두 문자열의 길이가 다르면 anagram이 아니다.
7+
// 같은 알파뱃이 같은 개수가 있는지 확인을 하는게 문제의 핵심.
8+
9+
// NOTE: 시간복잡도: O(n+m)
10+
class Solution {
11+
public boolean isAnagram(String s, String t) {
12+
Map<Character, Integer> sMap = new HashMap<>();
13+
Map<Character, Integer> tMap = new HashMap<>();
14+
15+
int tLen = t.toCharArray().length;
16+
int sLen = s.toCharArray().length;
17+
18+
if(tLen != sLen) {
19+
return false;
20+
}
21+
22+
for(char c: s.toCharArray()) {
23+
if(sMap.containsKey(c)) {
24+
int cnt = sMap.get(c);
25+
sMap.put(c, cnt + 1);
26+
} else {
27+
sMap.put(c, 1);
28+
}
29+
}
30+
31+
for(char c: t.toCharArray()) {
32+
if(tMap.containsKey(c)) {
33+
int cnt = tMap.get(c);
34+
tMap.put(c, cnt + 1);
35+
} else {
36+
tMap.put(c, 1);
37+
}
38+
}
39+
40+
41+
for(Character c: sMap.keySet()) {
42+
if(!tMap.containsKey(c)) {
43+
return false;
44+
}
45+
46+
int sMapCnt = sMap.get(c);
47+
int tMapCnt = tMap.get(c);
48+
49+
if(sMapCnt != tMapCnt) {
50+
return false;
51+
}
52+
}
53+
54+
return true;
55+
}
56+
}

0 commit comments

Comments
 (0)