Skip to content

Commit 5fdcc99

Browse files
author
ํ•œํ˜„
committed
valid anagram solution
1 parent af17640 commit 5fdcc99

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

โ€Žvalid-anagram/smosco.jsโ€Ž

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// ์‹œ๊ฐ„ ๋ณต์žก๋„: O(n) - ๊ฐ ๋ฌธ์ž์—ด์„ ํ•œ ๋ฒˆ์”ฉ๋งŒ ์ˆœํšŒ
2+
// ๊ณต๊ฐ„ ๋ณต์žก๋„: O(1) - ์ตœ๋Œ€ 26๊ฐœ์˜ ์†Œ๋ฌธ์ž๋งŒ ์ €์žฅ (์ƒ์ˆ˜ ๊ณต๊ฐ„)
3+
4+
/**
5+
* @param {string} s
6+
* @param {string} t
7+
* @return {boolean}
8+
*/
9+
const isAnagram = (s, t) => {
10+
// ๊ธธ์ด ์ฒดํฌ๋Š” ํ•„์ˆ˜
11+
if (s.length !== t.length) {
12+
return false;
13+
}
14+
15+
// ๊ฐ ๋ฌธ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ์ €์žฅํ•  ๊ฐ์ฒด
16+
const charCount = {};
17+
18+
// ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž์—ด์˜ ๊ฐ ๋ฌธ์ž ๊ฐœ์ˆ˜ ์นด์šดํŠธ
19+
for (let char of s) {
20+
charCount[char] = (charCount[char] || 0) + 1;
21+
}
22+
23+
// ๋‘ ๋ฒˆ์งธ ๋ฌธ์ž์—ด์˜ ๋ฌธ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ๋นผ๋ฉด์„œ ํ™•์ธ
24+
for (let char of t) {
25+
if (!charCount[char]) {
26+
// ์—†๋Š” ๋ฌธ์ž๊ฑฐ๋‚˜ ์ด๋ฏธ ๋‹ค ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ
27+
return false;
28+
}
29+
charCount[char]--;
30+
}
31+
32+
return true;
33+
};

0 commit comments

Comments
ย (0)