Skip to content

Commit b2d7f7d

Browse files
committed
valid anagram
1 parent ebec677 commit b2d7f7d

File tree

1 file changed

+12
-23
lines changed

1 file changed

+12
-23
lines changed
Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,21 @@
1-
import java.util.HashMap;
2-
import java.util.Map;
3-
4-
/**
5-
* ์‹œ๊ฐ„/๊ณต๊ฐ„ ๋ณต์žก๋„
6-
*/
7-
// ์‹œ๊ฐ„ ๋ณต์žก๋„: ๋ฌธ์ž์—ด์„ ํ•œ ๋ฒˆ์”ฉ๋งŒ ๋ฐฉ๋ฌธ -> O(n)
8-
// ๊ณต๊ฐ„ ๋ณต์žก๋„: ๋ฌธ์ž์—ด ๊ธธ์ด๋งŒํผ ๊ณต๊ฐ„ ํ•„์š”(hashmap ํฌ๊ธฐ) -> O(n)
1+
// ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n) - ๋ฌธ์ž์—ด ๊ธธ์ด n
2+
// ๊ณต๊ฐ„ ๋ณต์žก๋„: O(1) - ์•ŒํŒŒ๋ฒณ ๊ฐœ์ˆ˜๋Š” 26๊ฐœ๋กœ ๊ณ ์ •๋˜์–ด ์žˆ์Œ
93
class Solution {
104
public boolean isAnagram(String s, String t) {
5+
if(s.length()!=t.length()) return false; // ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅด๋ฉด false
116

12-
// s ์•ˆ์˜ ๋ฌธ์ž๋“ค์ด t ์—๋„ ๋™์ผํ•œ ํšŸ์ˆ˜๋กœ ๋“ฑ์žฅํ•˜๋Š” ์ง€ ํ™•์ธ
13-
if (s.length() != t.length()) return false; // ๋‘ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด ์•„๋‚˜๊ทธ๋žจ์ด ์•„๋‹ˆ๋‹ค.
14-
15-
// ๋ฌธ์ž๋ณ„ ํšŸ์ˆ˜ ์ €์žฅ map
16-
Map<Character, Integer> sAlphabetCountMap = new HashMap<>();
17-
for (char c : s.toCharArray()) { // ์‹œ๊ฐ„๋ณต์žก๋„: O(n)
18-
sAlphabetCountMap.put(c, sAlphabetCountMap.getOrDefault(c, 0) + 1);
7+
int[] letterCount = new int[26];
8+
// ๊ฐ ์•ŒํŒŒ๋ฒณ์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๊ธฐ ์œ„ํ•œ ๋ฐฐ์—ด
9+
for(int i = 0; i < s.length(); i++){
10+
letterCount[s.charAt(i) - 'a']++;
11+
letterCount[t.charAt(i) - 'a']--;
1912
}
2013

21-
for (char c : t.toCharArray()) { // ์‹œ๊ฐ„๋ณต์žก๋„: O(n)
22-
if (!sAlphabetCountMap.containsKey(c)) return false; // s์— t๊ฐ€ ๊ฐ€์ง„ ๋ฌธ์ž์—ด์ด ์—†๋‹ค๋ฉด ์•„๋‚˜๊ทธ๋žจ์ด ์•„๋‹ˆ๋‹ค.
23-
24-
int count = sAlphabetCountMap.get(c) - 1;
25-
if (count == 0) sAlphabetCountMap.remove(c);
26-
else sAlphabetCountMap.put(c, count);
14+
for(int count : letterCount){
15+
if(count != 0) return false;
2716
}
17+
return true;
2818

29-
// ๋ชจ๋“  ๋ฌธ์ž๊ฐ€ ์ผ์น˜ํ•˜๋ฉด ํ•ด์‹œ๋งต์ด ๋น„์–ด ์žˆ์–ด์•ผ ํ•จ
30-
return sAlphabetCountMap.isEmpty();
3119
}
3220
}
21+

0 commit comments

Comments
ย (0)