#INFO 난이도 : SILVER2 문제유형 : 재귀 , DP 출처 : https://www.acmicpc.net/problem/9184 #SOLVE 문제에서 주어진 코드대로 재귀함수를 작성하면 시간초과가 발생한다. 따라서 메모이제이션(Memoization)이라는 기법을 사용해야 한다. 메모이제이션이란, 컴퓨터 프로그램이 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 메모리에 저장함으로 동일한 계산의 반복 수행을 제거하는 방식의 알고리즘 기법이다. _about Memoization 우선 문제에서 base condition (모든 재귀의 수렴 조건)을 제시해 주었기에 그대로 작성한다. int recur_w(int a, int b, int c){ // base condition if(a 20) retu..
#INFO 난이도 : GOLD4 문제유형 : 재귀 출처 : 2448번: 별 찍기 - 11 (acmicpc.net) 2448번: 별 찍기 - 11 첫째 줄에 N이 주어진다. N은 항상 3×2k 수이다. (3, 6, 12, 24, 48, ...) (0 ≤ k ≤ 10, k는 정수) www.acmicpc.net #SOLVE 같은 패턴이 반복되는 재귀 유형 알고리즘 문제이다. 가장 기본이 되는 삼각형의 규칙을 찾아 base condition으로 설정한 뒤, 삼각형 각각의 좌표를 fill_star(배열에 알맞은 *을 채워 주는 함수)의 파라미터로 보낸 뒤 재귀로 호출하여 풀이하였다. void fill_star(int x, int y){ board[x][y] = '*'; board[x+1][y-1] = '*'; b..
#INFO 난이도 : SILVER3 알고리즘 : 재귀 출처 : https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net #SOLVE 색종이 배열 전체를 탐색하여 모든 원소가 1또는 0으로 같은지 판별 후 다르다면 4가지 구역으로 나누어 재귀를 수행하면 되는 간단한 문제이다. 색종이의 크기 n과 y, x 좌표를 인수로 받는 recur 함수를 선언한다. void recur(int n, int y, int x) base condit..