Skip to content

Commit cfe82dc

Browse files
author
easyone
committed
Feat: Add solution of valid-anagram
1 parent 026e627 commit cfe82dc

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

โ€Žvalid-anagram/easyone-jwlee.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// ํ’€์ด
2+
// s์˜ rune์„ key๋กœ ๊ฐ™์€ ์ฒ ์ž์˜ ๊ฐฏ์ˆ˜๋ฅผ ๋‹ด๊ฒŒํ•˜๊ณ 
3+
// t์™€ ๋น„๊ตํ•˜๋ฉด์„œ ๊ฐฏ์ˆ˜๋ฅผ ํ•˜๋‚˜์”ฉ ๊ฐ์†Œํ•˜๊ฒŒ ํ•ด์„œ
4+
// ๋‚จ์€ ์ฒ ์ž๊ฐ€ ์žˆ๊ฑฐ๋‚˜ (s์—๋Š” ์žˆ๊ณ , r์—๋Š” ์—†๋Š” ์ฒ ์ž๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ)
5+
// ๋” ๊ฐ์†Œ๋œ ์ฒ ์ž๊ฐ€ ์žˆ์œผ๋ฉด (s์—๋Š” ์—†๊ณ , r์—๋งŒ ์žˆ๋Š” ์ฒ ์ž๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ) false๊ฐ€ return ๋˜๊ฒŒ ํ•จ.
6+
7+
// TC
8+
// O(n+n+n) = O(n)
9+
10+
// SC
11+
// s์˜ ๊ธธ์ด๋งŒํผ ๋Š˜์–ด๋‚˜๋Š” map์œผ๋กœ ์ธํ•ด O(n)
12+
13+
func isAnagram(s string, t string) bool {
14+
m := make(map[rune]int)
15+
for _, r := range s {
16+
m[r]++
17+
}
18+
for _, r := range t {
19+
m[r]--
20+
}
21+
for _, count := range m {
22+
if count < 0 || count > 0 {
23+
return false
24+
}
25+
}
26+
return true
27+
}

0 commit comments

Comments
ย (0)