Development./Problem solving.

[BAEKJOON] 1822 - 차집합

Chuuu_DevCamp:) 2020. 8. 17. 19:23
반응형

https://www.acmicpc.net/problem/1822

집합 A를 std::set에 넣고, B를 입력 받을 때 집합 A에 입력받은 item이 있으면 삭제해 최종적으로 집합 A에 남은 item을 출력하도록 구현하였다.

 

#include <iostream>
#include <set>

int main()
{
    std::set<int> aGroup;
    int aSize = 0, bSize = 0;
    std::cin >> aSize >> bSize;

    for(int idx = 0; idx < aSize; idx++)
    {
        int item = 0;
        std::cin >> item;
        aGroup.insert(item);
    }
    
    for(int idx = 0; idx < bSize; idx++)
    {
        int item = 0;
        std::cin >> item;
        if (aGroup.end() == aGroup.find(item))
        {
            continue;
        }
        aGroup.erase(item);
    }

    std::set<int>::iterator end = aGroup.end();
    int remainSize = static_cast<int>(aGroup.size());
    std::cout << remainSize << '\n';
    for(int item : aGroup)
    {
        std::cout << item << ' ';          
    }
    return 0;
}