100.알고리즘/01. Baekjoon Online
[Baekjoon online] 1003번 문제 - 피보나치 함수
Righ
2016. 7. 14. 17:43
static int zero_case = 0;
static int one_case = 0;
static void Main(string[] args)
{
int test_case = Int32 .Parse(System.Console.In.ReadLine());
while (test_case > 0)
{
int n = Int32 .Parse(System.Console.In.ReadLine());
zero_case = 0;
one_case = 0;
fibonacci(n);
System. Console.Out.WriteLine(zero_case + " " + one_case);
test_case--;
}
}
static int fibonacci(int n)
{
if (n == 0)
{
zero_case++;
return 0;
}
else if (n == 1)
{
one_case++;
return 1;
}
else
{
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
[문제]
https://www.acmicpc.net/problem/1003
[풀이]
처음엔 클래스를 하나 생성해서 그 안에 set,get 함수 fibonacci 함수를 멤버 함수로 만들어서 제출했으나, 시간초과 에러가 떴다.
그 후엔 멤버 변수를 public으로 선언하여 바로 접근하게 했지만 그래도 시간 초과 에러가 뜬다.
그래서 모든 변수와 함수를 static으로 선언하여 ( Main함수가 static 함수 이므로 static 변수와 함수에만 접근 가능 ) 걸리는 시간을 단축하였다. 이것이 문제에서 원하는 해결 방안인지는 확신하지 못하겠다.