코테 준비-문제풀기

백준 다이나믹 9095번

FireStone 2019. 5. 11. 03:57

우선 c++ 로 해서 배열에 변수로 크기를 지정하는게 안된다

원래는 처음에 Testcase의 갯수를 받고 그만큼 입력을 받은후

나중에 출력해주려고 했었음

->그래서 정답 배열을 따로 만들어 testcase의 갯수만큼 크기를 지정해 나중에 출력해주려 했으나

그건 자바에서 하는걸로..c는 되나..

=>동적할당 사용해도 되긴함

ex)cin>>test__num;

   int *num=new int[test_num];

  나중에 delete []num;

 

//우선은 형식을 그냥 입력하자마자 출력하는 걸로

 

#include

using std::cout;
using std::endl;
using std::cin;
int main(void) {
int test_num = 0;
int i;
int num;
cin >> test_num;

while (test_num > 0) {
int dp[15] = {0};
dp[1] = 1,dp[2]=2,dp[3]=4;
cin >> num;
for (i = 4;i <=num;i++)
dp[i] = dp[i - 3] + dp[i - 2] + dp[i - 1];

cout << dp[num] << endl;
test_num--;
}
return 0;
}

 

 

//tip

우선 처음부분 1,2,3은 정답을 알아내기가 쉽고 구하고 쓰는게 더 편할것 같아

아예 초기화를 해주고 시작했다.

Dynamic은 dp[i] = dp[i - 3] + dp[i - 2] + dp[i - 1];  이부분만 제대로 알면 될듯

계속 해보면서 감을 익히는 수밖에..

 

'코테 준비-문제풀기' 카테고리의 다른 글

백준 7785  (0) 2019.09.18
2193 Dynamic -이친수 구하기  (0) 2019.06.02
1260 DFS BFS  (1) 2019.05.29
11399 greedy  (0) 2019.05.23
백준 dynamic programming 7579 번  (0) 2019.05.12