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+ * 2 개의 문자열 s와 t가 주어진다. 만약 t가 s의 anagram일 경우 true를 반환하고 그렇지 않은 경우 false를 반환하는 함수
3+ * @param {string } s
4+ * @param {string } t
5+ * @return {boolean }
6+ */
7+ var isAnagram = function ( s , t ) {
8+ var sMap = new Map ( ) ;
9+ var tMap = new Map ( ) ;
10+
11+ for ( let e of [ ...s ] ) {
12+ if ( sMap . has ( e ) ) {
13+ sMap . set ( e , sMap . get ( e ) + 1 ) ;
14+ } else {
15+ sMap . set ( e , 1 ) ;
16+ }
17+ }
18+
19+ for ( let e of [ ...t ] ) {
20+ if ( tMap . has ( e ) ) {
21+ tMap . set ( e , tMap . get ( e ) + 1 ) ;
22+ } else {
23+ tMap . set ( e , 1 ) ;
24+ }
25+ }
26+
27+ if ( sMap . size > tMap . size ) {
28+ for ( let s of sMap ) {
29+ if ( tMap . get ( s [ 0 ] ) && tMap . get ( s [ 0 ] ) === s [ 1 ] ) continue ;
30+ return false ;
31+ }
32+ } else {
33+ for ( let t of tMap ) {
34+ if ( sMap . get ( t [ 0 ] ) && sMap . get ( t [ 0 ] ) === t [ 1 ] ) continue ;
35+ return false ;
36+ }
37+ }
38+
39+ return true ;
40+ } ;
You can’t perform that action at this time.
0 commit comments