diff --git a/climbing-stairs/hoonjichoi1.java b/climbing-stairs/hoonjichoi1.java new file mode 100644 index 0000000000..7533ffc17f --- /dev/null +++ b/climbing-stairs/hoonjichoi1.java @@ -0,0 +1,26 @@ + +/* +f(45) = f(44) + f(43) +f(44) = f(43) + f(42) +. +. +. +f(3) = f(2) + f(1) +f(2) = 2 +f(1) = 1 +*/ +class Solution { + public int climbStairs(int n) { + if (n <= 2) return n; + + int prev = 1; + int result = 2; + int temp = 0; + for (int i = 2; i < n ; i++) { + temp = result; + result += prev; + prev = temp; + } + return result; + } +} diff --git a/valid-anagram/hoonjichoi1.java b/valid-anagram/hoonjichoi1.java new file mode 100644 index 0000000000..d6b18461a0 --- /dev/null +++ b/valid-anagram/hoonjichoi1.java @@ -0,0 +1,39 @@ +import java.util.HashMap; + +public class hoonjichoi1 { + public boolean isAnagram(String s, String t) { + if (s.equals(t)) + return true; + if (s.length() != t.length()) + return false; + + HashMap map = new HashMap<>(); + + for (int i = 0; i < s.length(); i++) { + Character c = s.charAt(i); + if (map.containsKey(c)) { + int value = map.get(c) + 1; + map.put(c, value); + } else { + map.put(c, 1); + } + } + + for (int j = 0; j < t.length(); j++) { + Character c2 = t.charAt(j); + if (map.containsKey(c2)) { + int value = map.get(c2) - 1; + map.put(c2, value); + } else { + return false; + } + } + + for (Integer i : map.values()) { + if (i < 0) { + return false; + } + } + return true; + } +}