File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * ๋ ๋ฌธ์์ด์ ๋น๊ตํด์ Anagram ์ฌ๋ถ ํ์ธ
3
+ * - ์๊ฐ ๋ณต์ก๋: O(n)
4
+ * - ๋ฌธ์์ด ์ํ์ ๋น๊ต ๊ณผ์ ์ ํฌํจํ์ฌ n์ ๋ฌธ์์ด์ ๊ธธ์ด
5
+ * - ๊ณต๊ฐ ๋ณต์ก๋: 0(1)
6
+ * - ์ํ๋ฒณ ๊ฐ์๊ฐ 26๊ฐ๋ก ๊ณ ์ ์์ ๊ณต๊ฐ
7
+ * @param {string } s - ๋ฌธ์์ด s
8
+ * @param {string } t - ๋ฌธ์์ด t
9
+ * @returns {boolean } - Anagram ์ฌ๋ถ
10
+ */
11
+ function isAnagram ( s : string , t : string ) : boolean {
12
+ // ๋ ๋ฌธ์ด์ ๊ธธ์ด๊ฐ ๋ค๋ฅธ๊ฒฝ์ฐ false ๋ฐํ
13
+ if ( s . length !== t . length ) {
14
+ return false ;
15
+ }
16
+
17
+ // ๋ฌธ์์ด ์ํ๋ฒณ ์ฌ์ ์ ์ํ ๊ฐ์ฒด ์ ์ธ
18
+ let vocabS = { } ;
19
+ let vocabT = { } ;
20
+
21
+ // s ๋ฌธ์์ด์ ๋ํ ์ํ๋ฒณ ์ฌ์ ์์ฑ
22
+ for ( const char in s ) {
23
+ vocabS = vocabS [ char ] ? vocabS [ char ] + 1 : 1 ;
24
+ } ;
25
+
26
+ // t ๋ฌธ์์ด์ ๋ํ ์ํ๋ฒณ ์ฌ์ ์์ฑ
27
+ for ( const char in t ) {
28
+ vocabT = vocabT [ char ] ? vocabT [ char ] + 1 : 1 ;
29
+
30
+
31
+ // ๋ ๋ฌธ์์ด ์ฌ์ ์ ๋น๊ตํ๋ฉฐ count ๊ฐ ์ผ์น ํ์ง ์์ ๊ฒฝ์ฐ false ๋ฐํ
32
+ for ( const char in vocabS ) {
33
+ if ( vocabS [ char ] !== vocabT [ char ] ) {
34
+ return false ;
35
+ }
36
+ }
37
+
38
+ return true ;
39
+ } ;
40
+
You canโt perform that action at this time.
0 commit comments