반갑습니다!

[백준] 1822 차집합 본문

알고리즘 문제 풀이

[백준] 1822 차집합

김덜덜이 2020. 9. 23. 15:36
1822번: 차집합
 
www.acmicpc.net

풀이

집합 B를 Set에 담고 A의 원소들을 탐색해서 답을 찾았다.

코드

C++

#include <iostream>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    int n1, n2;
    cin >> n1 >> n2;
    vector<int> a(n1);
    set<int> b;
    for (int i = 0; i < n1; i++)
        cin >> a[i];
    for (int i = 0; i < n2; i++) {
        int tmp;
        cin >> tmp;
        b.insert(tmp);
    }
    vector<int> answer;
    for (int num : a) {
        if (b.find(num) == b.end())
            answer.push_back(num);
    }
    sort(answer.begin(), answer.end());
    cout << answer.size() << '\n';
    for (int i : answer)
        cout << i << ' ';
    return 0;
}

Python3

import sys
from bisect import bisect_left, bisect_right

n1, n2 = map(int, sys.stdin.readline().rstrip().split())
a = list(map(int, sys.stdin.readline().rstrip().split()))
b = set(map(int, sys.stdin.readline().rstrip().split()))

answer = []
for i in a:
    if i not in b:
        answer.append(i)
answer.sort()
print(len(answer))
for i in answer:
    print(i, end=' ')

'알고리즘 문제 풀이' 카테고리의 다른 글

[백준] 5567 결혼식  (0) 2020.09.24
[백준] 1939 중량제한  (0) 2020.09.24
[백준] 1715 카드 정렬하기  (0) 2020.09.23
[백준] 2012 등수매기기  (0) 2020.09.23
[프로그래머스] 두 개 뽑아서 더하기  (0) 2020.09.22