목록PS (3)
컴공댕이 공부일지
백준 9095번 1, 2, 3 더하기(실버 3) 문제링크 https://www.acmicpc.net/problem/9095 (정답 코드)#include using namespace std;int main(){ ios::sync_with_stdio(0); cin.tie(0); int n, t; int dp[12]; dp[1]=1; dp[2]=2; dp[3]=4; cin >> t; while(t--) { cin >> n; for(int i=4; i 📖 풀이 이전까지의 값들이 뭔가 메모리제이션되면서 중첩되어 최종 답을 구하게 되는 느낌 == 전형적인 dp 문제다. i-1, i-2, i-3의 값들에 +1, ..
🔎 재귀(Recursion)란? 하나의 함수에서 자기 자신을 다시 호출해 작업을 수행하는 알고리즘.재귀가 낯설고 어렵게 느껴지는 이유는 우리가 기존에 생각하던 "절차지향적 사고"를 탈피해야하기 때문. 절차 지향적 사고 vs 귀납적 사고도미노로 예시를 들면, - 절차 지향적 사고1번 도미노, 2번째 도미노, 3번째 도미노 ... 이렇게 순차적으로 쓰러져서 모든 도미노가 쓰러진다 ! => (각 단계가 순차적으로 실행) - 귀납적 사고- 1번 도미노가 쓰러진다.- k번 도미노가 쓰러지면 k+1번 도미노도 쓰러진다.=> 모든 도미노가 쓰러진다 ! 는 결론에 도달. 이번 글에서는 바킹독 선생님의 강의를 기반으로, 재귀의 기본 개념을 정리하고, 예제 문제를 풀이해볼 것이다. 📝 재귀 함수의 조건특정 입력..
백준 2108번 통계학(실버 3) https://www.acmicpc.net/problem/2108 (정답 코드)#include #include #include #include using namespace std;int findMode(const vector& num, int max_length) { if(num.size() == 1) return num[0]; // 값이 하나뿐이면 그 값이 최빈값 int mode; int l=0; bool finded = false; int start = 0; int end = 0; for(int i=0; i num; vector cnt(8001, 0); // 8001칸 0으로 초기화 ..