본문 바로가기
PS/백준

[테스트케이스추가] 백준 1269번: 대칭 차집합 python 파이썬

by 지기_ 2021. 8. 6.
반응형

1. 문제

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

 

1269번: 대칭 차집합

첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어

www.acmicpc.net

 

2. 풀이

 

 

3. 구현

# https://simsimjae.tistory.com/214
import sys
sys.stdin =open('input.txt')

# @profile
def main():
    a,b=map(int, sys.stdin.readline().strip().split())
    a_lis = list(map(int, sys.stdin.readline().strip().split()))
    b_lis = list(map(int, sys.stdin.readline().strip().split()))

    lis_a = sorted(a_lis)
    lis_b = sorted(b_lis)

    # @profile
    def binary(lis, n):
        le = 0
        ri = len(lis)-1

        while le<=ri:
            mid = (le+ri)//2
            if lis[mid]==n:
                return 1
            if lis[mid]<n:
                le = mid+1
            else:
                ri = mid-1
        return 0

    answer=0
    cnt=0
    for item in a_lis:
        cnt+=binary(lis_b, item)
    answer+=(a-cnt)
    cnt=0
    for item in b_lis:
        cnt+=binary(lis_a, item)
    answer+=(b-cnt)

    sys.stdout.write(str(answer))

if __name__=="__main__":
    main()

 

4. 테스트케이스 추가

 

6 8
4 7 9 5 3 10
9 7 5 1 6 3 0 4

답: 4

 

5 5
9 1 7 8 2
5 9 2 4 3

답: 6

 

2 3
2 1 
1 3 2

답:1

 

@ kgw753 

3 6
1 2 4
2 2 3 4 5 6

답: 4

반응형

댓글