Skip to content

Commit a36c7cc

Browse files
committed
sadie100: valid-anagram solution
1 parent ea5ed1f commit a36c7cc

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

valid-anagram/sadie100.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
/**
2+
s의 문자 빈도를 기록하는 charMap을 만들고, t를 순회하면서 charMap의 빈도를 1씩 줄여 가며 같은지 비교한다.
3+
4+
시간복잡도: O(N) (s의 length N)
5+
6+
*/
7+
8+
function isAnagram(s: string, t: string): boolean {
9+
if (s.length !== t.length) return false
10+
const charMap = new Map()
11+
12+
for (let char of s) {
13+
charMap.set(char, (charMap.get(char) || 0) + 1)
14+
}
15+
16+
for (let char of t) {
17+
if (!charMap.has(char) || charMap.get(char) === 0) {
18+
return false
19+
}
20+
charMap.set(char, charMap.get(char) - 1)
21+
}
22+
23+
return true
24+
}

0 commit comments

Comments
 (0)