Skip to content

Commit d75317c

Browse files
committed
fix: valid-anagram
1 parent 800725b commit d75317c

File tree

1 file changed

+18
-5
lines changed

1 file changed

+18
-5
lines changed

โ€Žvalid-anagram/taekwon-dev.java

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,28 @@
44
*
55
* ๊ณต๊ฐ„ ๋ณต์žก๋„: O(N)
66
*
7+
* ์ฒ˜์Œ ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ  ๋“ค์—ˆ๋˜ ์ƒ๊ฐ: ์ •๋ ฌ ์‹œ์ผœ์„œ ๊ฐ™์œผ๋ฉด anagram?
8+
* -> ์•„, ๊ทธ๋Ÿฌ๋ฉด ๋“ฑ์žฅํ•œ ๋ฌธ์ž์˜ ๋นˆ๋„์ˆ˜๊ฐ€ ๊ฐ™๋„ค?
9+
* -> ๊ฒฐ๊ตญ 26 ์‚ฌ์ด์ฆˆ๊ฐ€ ์ธํ’‹์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ณต๊ฐ„ ๋ณต์žก๋„๋ฅผ O(1)๋กœ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๊ณ ,
10+
* -> ์‹œ๊ฐ„ ๋ณต์žก๋„๋„ O(N)์œผ๋กœ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค.
711
*/
812
class Solution {
913
public boolean isAnagram(String s, String t) {
10-
char[] sChars = s.toCharArray();
11-
char[] tChars = t.toCharArray();
14+
if (s.length() != t.length()) return false;
1215

13-
Arrays.sort(sChars);
14-
Arrays.sort(tChars);
16+
int[] charCount = new int[26];
1517

16-
return Arrays.equals(sChars, tChars);
18+
for (char c : s.toCharArray()) {
19+
charCount[c - 'a']++;
20+
}
21+
22+
for (char c : t.toCharArray()) {
23+
charCount[c - 'a']--;
24+
if (charCount[c - 'a'] < 0) {
25+
return false;
26+
}
27+
}
28+
29+
return true;
1730
}
1831
}

0 commit comments

Comments
ย (0)