Skip to content

Commit 1473988

Browse files
feat : valid-anagram
1 parent db5c314 commit 1473988

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

โ€Žvalid-anagram/imsosleepy.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// ์ž๋ฐ”์—์„œ๋Š” ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ O(N)์œผ๋กœ ์žก์•„๋„ ์ตœ์ƒ์œ„๊ถŒ์œผ๋กœ ๊ฐˆ ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ
2+
// ์œ ๋‹ˆ์ฝ”๋“œ ๊ณ ๋ ค
3+
public boolean isAnagram(String s, String t) {
4+
if (s.length() != t.length()) return false;
5+
6+
Map<Character, Integer> map = new HashMap<>();
7+
for (int i = 0; i < s.length(); i++) {
8+
map.put(s.charAt(i), map.getOrDefault(s.charAt(i), 0) + 1);
9+
map.put(t.charAt(i), map.getOrDefault(t.charAt(i), 0) - 1);
10+
}
11+
for (int value : map.values()) {
12+
if (value != 0) return false;
13+
}
14+
return true;
15+
}
16+
// ์•ŒํŒŒ๋ฒณ๋งŒ ๊ณ ๋ ค
17+
public boolean isAnagram(String s, String t) {
18+
int ALPHABET_COUNT = 26;
19+
if(s.length() != t.length()) {
20+
return false;
21+
}
22+
int[] arr = new int[ALPHABET_COUNT]; // ์•ŒํŒŒ๋ฒณ ๊ฐฏ์ˆ˜
23+
for(int i = 0; i < s.length() ; i ++) {
24+
arr[s.charAt(i) - 97]++;
25+
arr[t.charAt(i) - 97]--;
26+
}
27+
for(int i = 0; i < ALPHABET_COUNT; i ++) {
28+
if(arr[i] != 0) {
29+
return false;
30+
}
31+
}
32+
return true;
33+
}

0 commit comments

Comments
ย (0)