diff --git a/climbing-stairs/hoonjichoi1.java b/climbing-stairs/hoonjichoi1.java new file mode 100644 index 0000000000..0af34fef6c --- /dev/null +++ b/climbing-stairs/hoonjichoi1.java @@ -0,0 +1,24 @@ + +/* +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, cur = 2; + for (int i = 2; i < n ; i++) { + int temp = cur; + cur += prev; + prev = temp; + } + return cur; + } +} diff --git a/valid-anagram/hoonjichoi1.java b/valid-anagram/hoonjichoi1.java new file mode 100644 index 0000000000..a69ff47abb --- /dev/null +++ b/valid-anagram/hoonjichoi1.java @@ -0,0 +1,33 @@ +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); + map.put(c, map.getOrDefault(c, 0) + 1); + } + + for (int j = 0; j < t.length(); j++) { + Character c = t.charAt(j); + if (!map.containsKey(c) || map.get(c) <= 0) { + return false; + } + + map.put(c, map.get(c) - 1); + } + + for (Integer i : map.values()) { + if (i < 0) { + return false; + } + } + return true; + } +}