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