View
https://www.acmicpc.net/problem/9095
문제 요약
정수 n이 주어졌을 때 그 수를 1, 2, 3의 합으로 나타내는 방법의 수를 구하시오.
문제 해결 아이디어
하나하나 노가다로 구해 본 결과.... ㅎ recursive(n) = recursive(n-1)+recursive(n-2)+recursive(n-3)란 결과를 구할 수 있었다.
완성된 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main_BOJ_9095_123더하기 {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int TC = Integer.parseInt(br.readLine());
for (int i = 0; i < TC; i++) {
int N = Integer.parseInt(br.readLine());
sb.append(recursive(N)).append("\n");
}//end of for
System.out.println(sb);
}//end of main
//recursive(n) = recursive(n-1)+recursive(n-2)+recursive(n-3);
public static int recursive(int n) {
if (n == 1 || n == 2)
return n;
if (n == 3)
return 4;
return recursive(n-1)+recursive(n-2)+recursive(n-3);
}
} // end of class
'Level-Up > 알고리즘' 카테고리의 다른 글
[백준] 14501. 퇴사 - 실버5 (0) | 2021.08.18 |
---|---|
[백준] 9012. 괄호 - 실버4 (0) | 2021.08.18 |
[백준] 2447. 별 찍기 - 실버1 (0) | 2021.08.18 |
[백준] 2503. 숫자 야구 - 실버5 (0) | 2021.08.07 |
[백준] 2309. 일곱 난쟁이 - 브론즈2 (0) | 2021.08.07 |
reply