코딩문제
[백준 30805번] 사전 순 최대 공통 부분 수열 (Python)
컴돌이_예준
2024. 7. 9. 21:54
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)))
어려웠다..ㅜㅜ