문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
2개의 문자열 words1과 words2가 주어졌을 때, 두 배열에서 각각 정확히 1번 나타나는 문자열의 개수를 반환해라.
#1
Input: words1 = ["leetcode", "is", "amazing", "as", "is"], words2 = ["amazing", "leetcode", "is"]
Output: 2
#2
Input: words1 = ["b", "bb", "bbb"], words2 = ["a", "aa", "aaa"]
Output: 0
#3
Input: words1 = ["a", "ab"], words2 = ["a", "a", "a", "ab"]
Output: 1
class Solution {
public int countWords(String[] words1, String[] words2) {
Map<String, Integer> word1 = new HashMap<>();
Map<String, Integer> word2 = new HashMap<>();
for(String word : words1){
word1.put(word, word1.getOrDefault(word, 0) + 1);
}
for(String word : words2){
word2.put(word, word2.getOrDefault(word, 0) + 1);
}
int count = 0;
for(String word : words1){
if(word1.get(word) == 1 && word2.getOrDefault(word, 0) == 1){
count++;
}
}
return count;
}
}