import sys
input = sys.stdin.readline
n = int(input())
a = list(map(int, input().split()))
m = int(input())
b = list(map(int, input().split()))
ans = []
while a and b: # a와 b 모두 항목이 있는 동안 실행
max_a = max(a)
max_b = max(b)
if max_a == max_b:
ans.append(max_a)
# 최댓값이 같은 경우, 최댓값 이후의 요소만 남기기
a = a[a.index(max_a)+1:]
b = b[b.index(max_b)+1:]
elif max_a > max_b:
# max_a가 더 클 경우 max_a를 제거
a.remove(max_a)
else:
# max_b가 더 클 경우 max_b를 제거
b.remove(max_b)
print(len(ans))
if len(ans) != 0:
print(" ".join(map(str, ans)))
어려웠다..ㅜㅜ
'코딩문제' 카테고리의 다른 글
[백준 11404번] 플로이드 (파이썬 풀이) (0) | 2023.05.05 |
---|---|
[백준 1753번] 최단경로 (Python 풀이) (0) | 2023.05.04 |
[백준 15663번] N과 M (9) {Python 풀이} (0) | 2023.05.02 |
[LeetCode] 1026. Maximum Difference Between Node and Ancestor (Python) (0) | 2022.12.09 |
[LeetCode] 623. Add One Row to Tree (Python) (0) | 2022.10.05 |