Counting, Greedy,  example [s = "848188", t = "818884"]
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution {\n    public boolean isTransformable(String s, String t) {\n       // 0. \uBB34\uC870\uAC74 false\uAC00 \uB418\uB294 \uC870\uAC74 \n        //   1) s\uC640, t\uC758 \uAC01\uAC01\uC758 \uC22B\uC790\uC758 \uAC1C\uC218\uAC00 \uC815\uD655\uD788 \uC77C\uCE58 \uD558\uC9C0 \uC54A\uC744 \uB54C \n        //   2) s\uC758 \uC0AC\uC804\uC801 \uC21C\uC11C\uAC00 t\uBCF4\uB2E4 \uC55E\uC124 \uB54C \n\n        // 1. count1[10], count2[10] \n        //   s\uC640 t\uB97C \uAC01\uAC01 \uC21C\uD68C\uD558\uBA74\uC11C \uC22B\uC790\uB97C \uC138\uC5B4\uC11C \uC800\uC7A5\uD55C\uB2E4. \n        \n        // 2. countA[10][10], countB[10][10]\n        //   s\uC640 t\uB97C \uAC01\uAC01 \uC21C\uD68C\uD558\uBA74\uC11C \n        //   \uC55E\uC5D0 \uBA3C\uC800 \uB098\uC628 \uD604\uC7AC\uBCF4\uB2E4 \uD070 \uC218\uB4E4\uC744 \uC800\uC7A5\uD55C\uB2E4. \n        //   countA[3][6]\uC740 s\uC5D0\uC11C 3\uBCF4\uB2E4 \uC55E\uC5D0 \uB098\uC628 6\uC758 \uAC1C\uC218 \n\n        // 3. \uC810\uAC80\n        //   countA[i][j] < countB[i][j] \uC774\uBA74 false (j\uB294 i+1 \uBD80\uD130 \uD655\uC778)\n        //   j\uB294 i\uBCF4\uB2E4 \uD070 \uC218\uC774\uACE0 \n        //   (s \uC5ED\uC804\uB41C \uC218\uC758 \uAC1C\uC218)\uAC00 (t \uC5ED\uC804 \uB41C \uC218\uC758 \uAC1C\uC218\uBCF4)\uB2E4 \uC791\uC73C\uBA74 \n        //   Choose a non-empty substring in s and sort it in place so the characters are in ascending order\n        //   \uC870\uAC74\uC5D0 \uB530\uB77C s\uC758 \uC22B\uC790\uB4E4\uC758 \uC5ED\uC804\uB41C \uAC78 \uC815\uB82C\uD558\uB294 \uAC83 \uBC16\uC5D0 \uB418\uC9C0 \uC54A\uAE30 \uB54C\uBB38\uC5D0 \n        //   \uB354 \uB9CE\uC740 \uC5ED\uC804\uB41C \uAC1C\uC218\uB97C \uB9CC\uB4E4 \uC218 \uC5C6\uC5B4\uC11C false\uC774\uB2E4. \n        \n        // ex ) s = "848188", t = "818884" \uC77C\uB54C \n        //      countA[4][8], 4\uBCF4\uB2E4 \uC55E\uC120 8\uC740 1\uAC1C \n        //      countB[4][8], 4\uBCF4\uB2E4 \uC55E\uC120 8\uC740 4\uAC1C \uC774\uACE0 \n        //      s\uC5D0\uC11C \uC5ED\uC804\uB41C \uC218\uB97C \uC815\uB82C\uD558\uB294 \uAE30\uB2A5\uB9CC \uC218\uD589\uD560 \uC218 \uC788\uC5B4\uC11C \n        //      4\uC640 8\uC774 1\uAC1C\uC5ED\uC804\uB41C \uC0C1\uD0DC\uC5D0\uC11C 4\uAC1C\uC5ED\uC804\uB41C \uC0C1\uD0DC\uB85C \uB9CC\uB4E4 \uC218\uAC00 \uC5C6\uB2E4. \uADF8\uB7EC\uBBC0\uB85C false\n\n        // 4. return true\n\n        \n        if ( s.compareTo(t) < 0) return false;\n\n        int count1[] = new int[10];\n        int count2[] = new int[10];\n\n        int countA[][] = new int[10][10];\n        int countB[][] = new int[10][10];\n        \n        for(int i = 0; i < s.length(); i++) {\n            int idxA = (int)(s.charAt(i)-\'0\');\n            int idxB = (int)(t.charAt(i)-\'0\');\n\n            count1[idxA]++;\n            count2[idxB]++;\n\n            for(int j = idxA+1; j < countA.length; j++) {\n                countA[idxA][j] +=count1[j];\n            }\n\n            for(int j = idxB+1; j < countB.length; j++) {\n                countB[idxB][j] += count2[j];\n            }\n        }\n\n        for(int i = 0; i < count1.length; i++) {\n            if ( count1[i] != count2[i]) return false;\n        }\n\n        // for(int i = 0; i < countA.length; i++) {\n        //     System.out.println(i);\n        //     for(int j = 0; j < countA[i].length; j++) {\n        //         System.out.print( "[" + j + " " +countA[i][j] + "] ");\n        //     }\n        //     System.out.println();\n        // }\n\n        for(int i = 0; i < countA.length; i++) {\n            for(int j = i+1; j < countA[i].length; j++) {\n                if ( countA[i][j] < countB[i][j] ) {\n                    // System.out.println(i + " " + j + " " + countA[i][j] + " " + countB[i][j]);\n                    return false;\n                }\n            }\n        }\n\n        return true;\n    }\n}\n```
['Greedy', 'Counting', 'Java']