백준 9095번 : 1, 2, 3 더하기 C++
·
공부/코딩테스트
https://www.acmicpc.net/problem/9095  문제 탐색입력 : n0 필요한 식1. 배열 초기화dp[0] = 1;dp[1] = 2;dp[2] = 4;for(int i = 3; i 사실 시간 복잡도는 고려 안해도 될 정도..의 숫자라서~미리 123 조합을 구해뒀습니다한 5까지의 조합을 구해보니 규칙이 나오더라고요!!! 2. 케이스 입력 1) 테스트 케이스 수 입력 = t 2) 구하고 싶은 숫자 입력 * t 3) 해당 수의 조합 출력 그래서 순서를1) 배열 초기화2) 테스트 케이스 입력3) 구하고 싶은 숫자 입력 반복문4) 조합의 수 출력 반복문이렇게 구성했습니다. 최종 코드#include using namespace std;int dp[11];int main(){ dp[0] = 1;..
백준 2839번 : 설탕봉지 C++
·
공부/코딩테스트
https://www.acmicpc.net/problem/2839   문제 탐색입력 : nn을 3과 5로 최소한의 계산으로 구하는 것이 관건만약 3과 5로 만들 수 없다면 -1 출력 dp를 사용해서 이전 값을 사용해보는 것으로 했습니다.여러번의 반복 사용을 줄여서~,,, 필요한 식1. 배열 초기화for (int i = 0; i 미리 이렇게 초기화 해두었고, n이 3이상의 값으로 주어지기에 계산하기 편하려고 dp[3] = 1 이렇게 했습니담 2. n > 5일 때n-3 or n-5 를 통해 이전에 구한 값이 있을 때까지 가야합니다. 예를 들어 n = 7dp[7] = dp[3] + dp[4] 이렇게 나눠질 수 있습니다.dp[4]는 -1의 값을 가지고 있습니다.(3,5로 나타낼 수 없음) => dp[7] = -..