์ฝ๋
import java.util.*;
class Solution {
public String mostCommonWord(String paragraph, String[] banned) {
Set<String> bans = new HashSet<>(Arrays.asList(banned));
// replaceAll() -> ํน์๋ฌธ์ ๋ณํ.
// ์๋ฌธ์ ๋ณํ, ๊ณต๋ฐฑ ๊ธฐ์ค ๋ถ๋ฆฌ
String[] words = paragraph.replaceAll("\\W+", " ").toLowerCase().split(" ");
// ๋จ์ด ๊ฐ์ ์ ์ฅ
Map<String, Integer> counts = new HashMap<>();
// ๋จ์ด ๋น๋์ ๊ณ์ฐ
for (String word : words) {
if (!bans.contains(word)) {
counts.put(word, counts.getOrDefault(word, 0) +1);
}
}
// ๊ฐ์ฅ ๋ง์ด ๋์จ ๋จ์ด ์ฐพ๊ธฐ
// counts ์ํธ๋ฆฌ์
์ผ๋ก ๊ฐ์ ธ์์ ๋น๊ต ํ key๊ฐ ๋ฆฌํด
String mostCommon = "";
int maxCount = 0;
for (Map.Entry<String, Integer> entry : counts.entrySet()) {
if (entry.getValue() > maxCount) {
mostCommon = entry.getKey();
maxCount = entry.getValue();
}
}
return mostCommon;
}
}
Java
๋ณต์ฌ
\W : ๋ฌธ์๊ฐ ์๋์ ๋ค
+ : ์ฐ์์ผ๋ก
์ ์ฒ๋ฆฌํ ๋ฌธ์์ด์ ๊ธฐ์ค์ผ๋ก ๊ธ์ง ๋จ์ด๋ฅผ ๋งคํํ๊ณ , ํด์ฌ๋งต์ผ๋ก ๋น๋์๋ฅผ ๊ณ์ฐํ๋ค.
์ดํ ๋งคํํด์ฃผ๋ฉด ๋.
๋ฌธ์ ํด๊ฒฐ ์์ด๋์ด
1. ์ ์ฒ๋ฆฌ : ํน์๋ฌธ์ ์ ๊ฑฐ, ๋์๋ฌธ์ ๊ตฌ๋ถx, ๊ณต๋ฐฑ๊ธฐ์ค์ผ๋ก ๋จ์ด ๋ถ๋ฆฌํ๊ธฐ
2. ๊ธ์ง ๋จ์ด ์ ์ธ
๋๊ฐ๋ง ์ ํด๊ฒฐํ๋ฉด ๋๋จธ์ง๋ ๋น๋์ ๊ณ์ฐํ๋ฉด ๋๋๊ฑฐ๋ผ ์ฌ์ ๋ค.