BOJ-9095-1,2,3 더하기
by EunHye Jung
BOJ 9005 1, 2, 3 더하기
- 정수 n이 주어졌을때, n을 1,2,3의 합으로 나타내는 방법의 수를 구하는 프로그램 작성
풀이
숫자를 count개를 사용해서 합(sum)을 만들었을때, 그 합이 목표값(target)이 되는 경우의 수를 구하는 함수를 countCase(int count, int sum, int target).
이라고 하자.
숫자가 1인 경우 countCase(count + 1, sum + 1, target)이 되고,
숫자가 2인 경우 countCase(count + 1, sum + 2, target)이 되고,
숫자가 3인 경우 countCase(count + 1, sum + 3, target)이 된다.
위의 경우의 수를 조합해서 sum이 goal이 될때를 체크해주면 경우의 수를 구할 수 있다.
소스코드
public int countCase(int count, int sum, int target) {
if (sum > target ) {
return 0;
}
if (sum == target) {
return 1;
}
int case = 0;
for(int i = 1; i <= 3 ; i++) {
case += countSum(count + 1, sum + 1, target)
}
return case;
}
Subscribe via RSS