넘치게 채우기

[LeetCode] 884. Uncommon Words from Two Sentences 본문

PS/LeetCode

[LeetCode] 884. Uncommon Words from Two Sentences

riveroverflow 2024. 9. 17. 12:03
728x90
반응형

https://leetcode.com/problems/uncommon-words-from-two-sentences/description/?envType=daily-question&envId=2024-09-17

leetcode - Uncommon Words from Two Sentences

문제 유형 : 문자열 처리, 해시

문제 난이도 : Easy

 

문제

A sentence is a string of single-space separated words where each word consists only of lowercase letters.

A word is uncommon if it appears exactly once in one of the sentences, and does not appear in the other sentence.

Given two sentences s1 and s2, return a list of all the uncommon words. You may return the answer in any order.

 

문장은 영소문자 단어만 모인 공백 하나로 구분된 문자열들의 접합이다.

단어는 정확히 한번만 문장에서 등장해서 다른 문장에는 등장하지 않는 단어를 일반적이지 않다고 한다.

일반적이지 않은 단어들을 배열에 담아 반환하시오. 순서는 상관없습니다.

 

풀이

해시맵을 만들어서 word-count쌍을 담는다.

두 문자열을 공백으로 끊어읽으면서, 단어를 카운트한다.

그리고, 해시맵에서 count가 1인 단어들만 따로 배열에 저장하면 된다.

두 문장에서의 단어빈도를 한번에 센 다음에, count가 1이면 조건에 충족한다.

 

코드

C++

class Solution {
public:
    vector<string> uncommonFromSentences(string s1, string s2) {
        unordered_map<string, int> mp;

        stringstream ss1(s1);
        stringstream ss2(s2);

        string token;
        vector<string> ans;
        while(ss1 >> token) {
            mp[token]++;
        }

        while(ss2 >> token) {
            mp[token]++;
        }

        for(auto &element : mp) {
            if(element.second == 1) ans.push_back(element.first);
        }

        return ans;
    }
};
728x90
반응형