[백준] 11053번 : 가장 긴 증가하는 부분수열
https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 풀이 1) 먼저 부르트포스 방식으로 2중 for 문을 이용하여 O(n^2)의 시간 복잡도로 문제를 해결 할 수 있다. dp 테이블을 n-1 개 생성하여 {1} , {1,5} , {1,5,2} {1,5,2,1}, {1,5,2,1,4} ... {1,5,2,1,4,3,4,5,2}, {1,5,2,1,4,3,4,5,2,1} 로 ..
[백준] 11066번 : 파일 합치기
https://www.acmicpc.net/problem/11066 11066번: 파일 합치기 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장하곤 한다. 소설의 모든 장을 쓰고 나서는 각 장이 쓰여진 파일을 합쳐서 최종적으로 소설의 완성본 www.acmicpc.net 해당 문제는 브루트포스 알고리즘으로 문제를 해결할 경우 시간복잡도가 O(!(N-1))으로 문제를 해결 할 수 있습니다. 예를들어 40, 30, 30, 50 이라는 수가 주어져 있을때 1. 40, (30,30,50) 에서 더해지는 경우 2. (40,30), (30,50) 에서 더해지는 경우 3. (40,30,50),50 에서 더해지는 경우 숫자가 N개 일때 N-1 경우의 수가 발생한다. 즉..