[백준 / BOJ] 1269번 대칭 차집합 (C++, Python)◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 6. 1. 19:51
Table of Contents
반응형
링크 : https://www.acmicpc.net/problem/1269
문제
문제 풀이
C++ 상세 풀이
더보기
for (int i = 0; i < A; ++i) {
int tmp;
std::cin >> tmp;
mpA[tmp] = tmp;
}
for (int i = 0; i < B; ++i) {
int tmp;
std::cin >> tmp;
mpB[tmp] = tmp;
}
일단 A - B, B - A를 구해야 한다. 이를 위해 우선 mpA, mpB에 집합들을 담아 준다.
집합들을 담은 후, 이제 차집합을 구해야 하는데 mpA를 순회하면서 mpB에 mpA의 요소가 없으면 sum 변수를 증가시켜주고, mpB에서도 같은 작업을 수행한다. 이러면 자동으로 차집합들의 합이 구해진다.
for (auto it = mpA.begin(); it != mpA.end(); it++)
if (!mpB[it->first])
sum++;
for (auto it = mpB.begin(); it != mpB.end(); it++)
if (!mpA[it->first])
sum++;
또 C++에 색다른 풀이가 있어 밑에 첨부해본다.
Python 상세 풀이
더보기
파이썬에서는 애초에 차집합을 연산할 수 있다.
A, B = map(int, input().split())
setA = set(map(int, input().split()))
setB = set(map(int, input().split()))
print(len(setA - setB) + len(setB - setA))
C++ 코드 전문
Python 코드 전문
소감
반응형
'◎ 자료구조와 알고리즘 > 백준(BOJ) 문제풀이' 카테고리의 다른 글
[백준 / BOJ] 1085번 직사각형에서 탈출 (C++, Python) (0) | 2022.06.02 |
---|---|
[백준 / BOJ] 11478번 서로 다른 부분 문자열의 개수 (C++, Python) (0) | 2022.06.01 |
[백준 / BOJ] 1764번 듣보잡 (C++, Python) (0) | 2022.06.01 |
[백준 / BOJ] 10816번 숫자 카드 2 (C++, Python) (0) | 2022.06.01 |
[백준 / BOJ] 1620번 나는야 포켓몬 마스터 이다솜 (C++, Python) (0) | 2022.06.01 |
@Reo :: 코드 아카이브
자기계발 블로그