반응형
🅰 백준 9095. 1, 2, 3 더하기
✏️ 문제 풀이
- 알고리즘 분류에 DP라고 되어있는데 재귀함수를 이용하여서 풀었다.
- 들어오는 n값에 -1,-2,-3을 한 값을 재귀로 돌려서 n이 0이되면 cnt++을 해줘서 케이스 수를 더해준 다음
- 재귀 종료 후 모든 케이스를 출력해주었다.
✏️ 소스코드
package bruteforce;
import java.io.*;
public class Main_실버3_9095_손은성 {
static int cnt;
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for (int i = 0; i < T; i++) {
int n = Integer.parseInt(br.readLine());
cal(n);
System.out.println(cnt);
cnt = 0;
}
}
private static void cal(int n) {
if(n == 0) {
cnt++;
return;
}
if(n-1>=0) cal(n-1);
if(n-2>=0) cal(n-2);
if(n-3>=0) cal(n-3);
}
}
✅ 후기
- 재귀함수에 대해 익숙하지 않았던 터라 생각해내는데 어려움이 있었다. 하지만 블로그 작성할 때 다시보니 쉽게 이해가 되었다. 앞으로 더 자주 코딩을 하고 다양한 방법에 익숙해지도록 노력해야겠다.
반응형
'백준 > 완전탐색' 카테고리의 다른 글
백준 10971. 외판원 순회 2 (0) | 2021.08.26 |
---|---|
백준 10819. 차이를 최대로 (0) | 2021.08.26 |
백준 10974. 모든 순열 (0) | 2021.08.26 |
백준 10973. 이전순열 (0) | 2021.08.26 |
백준 10972. 다음 순열 (0) | 2021.08.26 |
댓글