본문 바로가기

다이나믹프로그래밍

[ 백준 17390 ] 이건 꼭 풀어야 해! 1. 문제 링크 https://www.acmicpc.net/problem/17390 17390번: 이건 꼭 풀어야 해! [2, 5, 1, 4, 3]을 비내림차순으로 정렬하면 [1, 2, 3, 4, 5]이다. www.acmicpc.net 2. 문제 3. 문제 요약 비정렬 수열을 정렬하고, 범위의 합을 출력해라 4. 문제 풀이 (1) 1차원 배열의 정렬 정렬은 딱히 설명할 게 없다. 우선 문제를 풀기 위해서 임의의 순서로 들어오는 값들을 정렬할 필요가 있다. N(1≤N≤300,000)개의 데이터가 들어오는 만큼 O(N²)의 정렬법은 시간초과가 분명했기에, O(NlogN)의 복잡도를 갖는 방법으로 정렬하고자 해서, 퀵소트를 이용해서 정렬했다. (2) 배열의 부분 합 // 메모이제이션 정렬 후, 주어지는 Q(1.. 더보기
[ 백준 9095 ] 1, 2, 3 더하기 1. 문제 링크 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다. 출력 각 www.acmicpc.net 2. 문제 3. 문제 요약 정수 N을 1, 2, 3을 이용해서 표현가능한 식의 갯수를 출력하라. 4. 문제 풀.. 더보기
[ 백준 9465 ] 스티커 1. 문제 링크 https://www.acmicpc.net/problem/9465 9465번: 스티커 문제 상근이의 여동생 상냥이는 문방구에서 스티커 2n개를 구매했다. 스티커는 그림 (a)와 같이 2행 n열로 배치되어 있다. 상냥이는 스티커를 이용해 책상을 꾸미려고 한다. 상냥이가 구매한 스티커의 품질은 매우 좋지 않다. 스티커 한 장을 떼면, 그 스티커와 변을 공유하는 스티커는 모두 찢어져서 사용할 수 없게 된다. 즉, 뗀 스티커의 왼쪽, 오른쪽, 위, 아래에 있는 스티커는 사용할 수 없게 된다. 모든 스티커를 붙일 수 없게된 상냥이는 각 스티커에 점 www.acmicpc.net 2. 문제 3. 문제 요약 이차원 배열로부터 주어진 조건을 만족하는 최대값을 찾는 문제. 4. 문제 풀이 전형적인 DP 문.. 더보기