BOJ 1269 : 대칭 차집합

Merge Sort를 단계적으로 접근하고자 희망한다면 이런 식으로 두 개의 배열에 대해 보다 익숙해지는 시간이 필요하다. 만약 Merge Sort에 대한 근본적인 논함이 가능하다면 어렵지 않게 뭘 해야 할지를 떠올릴 수 있을 것이다. 개인적인 견해로는 그정도면 되는듯.


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

import sys
input = sys.stdin.readline

arrACnt, arrBCnt = map(int, input().split())
arrA = list(map(int, input().split()))
arrB = list(map(int, input().split()))
i = 0
j = 0
cnt = 0
arrA.sort()
arrB.sort()


while i != arrACnt and j != arrBCnt:
    if(arrA[i] == arrB[j]):
        arrA[i] = 0
        arrB[j] = 0
        i += 1
        j += 1
    elif(arrA[i] > arrB[j]):
        j += 1
    elif(arrA[i] < arrB[j]):
        i += 1
a = 0
b = 0
while(a < arrACnt):
    if(arrA[a] != 0):
        cnt += 1
    a += 1


while(b < arrBCnt):
    if(arrB[b] != 0):
        cnt += 1
    b += 1

print(cnt)