문제 설명 1. N이 주어진다. 2. N개의 배열들에 해당하는 숫자들이 각각 주어진다. 3. 가장 긴 증가하는 부분 수열을 구하면 된다. 풀이 과정 1. 처음에는 DP로 풀려 하였는데, 시간 복잡도에서 문제가 발생했다. 이후 DP와 이분탐색을 섞어서 해결하였다. 2. 부분 수열을 저장할 Arraylist를 만들어, 이를 채워 준다.(이걸 쓴 이유는, 부분 수열의 경우 언제까지 값이 있을지 모르기도 하고, 중간에 값을 바꾸려고 하기 때문이다.) 3. 숫자를 순서대로 입력받으며, 현재 입력된 순서의 숫자가 Arraylist의 가장 위의 값보다 큰 값인지 확인한다. 4. 이후, 그 값이 더 큰 값인 경우 배열을 추가해 주면 된다. 4. 그렇지 않은 경우 배열 내부의 값들 중 해당 값보다 큰 수들 중 최소의 숫..