set를 이용하는 문제이다. set에 대한 설명이 많이 있지만, 간단하게 풀 수 있다:
import sys
M = int(sys.stdin.readline())
set_M = set(map(int, sys.stdin.readline().split()))
N = int(sys.stdin.readline())
set_N = set(map(int, sys.stdin.readline().split()))
difference_list = list(set_M.difference(set_N)) + list(set_N.difference(set_M))
for i in sorted(difference_list):
print(i)
set는 아쉽게도 -
함수는 적용이 될 수 있지만, +
함수는 적용이 되지 않는다 (왜 이렇게 만든거지...) 그래서 처음에 set에서 리스트로 변환시켜준다. 사실 처음부터 굳이 set가 필요하지는 않지만, 문제에서 주는 set1.difference(set2)
메소드를 사용해보기 위해 사용해보았다.
'알고리즘 테스트 > Hackerrank 문제풀이 및 해설' 카테고리의 다른 글
<Hackerrank 문제풀이: 파이썬> Incorrect Regex (0) | 2020.12.05 |
---|---|
<Hackerrank 문제풀이: 파이썬> itertools.combinations() (0) | 2020.12.04 |
<Hackerrank 문제풀이: 파이썬> Collections.OrderedDict() (0) | 2020.12.02 |
<Hackerrank 문제풀이: 파이썬> Collections.namedtuple() (0) | 2020.12.01 |
<Hackerrank 문제풀이: 파이썬> Exceptions (0) | 2020.11.30 |