이제서야 dp가 뭔지 왜 쓰는지 언제 쓰는지 쳐다보고 있다... #include #include int fibo(int dp[], int n) { if (dp[n] != -1) { return dp[n]; } if (n == 0) { dp[n] = n; } else if (n == 1) { dp[n] = 1; } else { dp[n] = fibo(dp, n - 1) + fibo(dp, n - 2); } return dp[n]; } int main() { //2748의 경우 N이 90까지라 dp[91] //그리고 90일 경우 value가 크기 때문에 //long long dp[91], long long fibo로 int N = 0, dp[46]; scanf("%d", &N); for (int i = 0; i
#include #include int main() { int hour = 0, minute = 0; int new_minute = 60; scanf("%d %d", &hour, &minute); if(minute - 45 < 0) { new_minute = new_minute + (minute - 45); if(hour == 0) hour = 23; else hour--; printf("%d %d", hour, new_minute); } else { printf("%d %d", hour, minute - 45); } } https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만..
#include #include void push(int stack[], int number) { int i = 0; if (stack[0] == 0) { stack[0] = number; } else { for(i = 9999; i >= 0; i--) { if(stack[i] != 0) { stack[i + 1] = stack[i]; } } stack[0] = number; } } int pop(int stack[]) { int i = 0; int head = 0; if(stack[i] 0) { stack[i - 1] = stack[i]; } else { stack[i - 1] = 0; break; } } } return head; } int size(int stack[]) { int i = 0; fo..
Contact: j0n9m1n1@gmail.com