https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWBOKg-a6l0DFAWr
for tc in range(1,int(input())+1):
n=int(input())
arr=list(map(int,input().split()))
dp=[1]*n
for i in range(n):
for j in range(i):
if arr[i]>arr[j]:
dp[i]=max(dp[i],dp[j]+1)
print("#"+str(tc)+" "+str(max(dp)))
기본적인 LIS의 기본개념을 묻는 문제이다.
이렇게 Python로 SWEA의 "최장 증가 부분 수열" 문제를 해결해보았습니다. 코드와 개념 설명을 참고하여 문제를 해결하는 데 도움이 되셨길 바랍니다! 😊