반응형
문제
https://www.acmicpc.net/problem/1269
풀이
(A 차집합 B) 요소의 개수 + (B 차집합 A) 요소의 개수를 출력해 주는 문제입니다.
즉, 대칭 차집합의 원소의 개수를 출력해주는 문제입니다.
A와 B를 Set 자료형으로 만들어 준 후, for문을 통해 A에 포함되지 않는 B의 요소 + B에 포함되지 않는 A의 요소를 구할 수도 있지만,
Swift의 Set 자료형에서는 subtracting라는 차집합 메서드가 구현되어 있습니다.
a.subtracting(b).count + b.subtracting(a).count
로 쉽게 구현이 가능합니다.
심지어, symmetricDifference라는 대칭 차집합 메서드도 구현이 되어있습니다.
a.symmetricDifference(b).count
만 써도 되겠네요.
소스코드
후기
Set 자료형을 안다면 쉽게 풀 수 있는 문제입니다.
Set 자료형의 다양한 메서드들을 알고있다면 더 쉽게 풀 수 있습니다.
차집합, 대칭 차집합 뿐만 아니라, 합집합과 교집합 등도 지원합니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 10872 팩토리얼 (Swift) (0) | 2023.03.14 |
---|---|
[BOJ] 백준 11478 서로 다른 부분 문자열의 개수 (Swift) (0) | 2023.03.14 |
[BOJ] 백준 1764 듣보잡 (Swift) (0) | 2023.03.14 |
[BOJ] 백준 10816 숫자 카드 2 (Swift) (0) | 2023.03.14 |
[BOJ] 백준 1620 나는야 포켓몬 마스터 이다솜 (Swift) (0) | 2023.03.14 |