문제를 읽으면 어렵다. 출제자 기준에서 생각한다면, 답이 큰 수임을 보고 수열을 묻는 문제임을 알아야 한다. 이 바닥에서 유명한 피보나치 수열을 묻는 문제라고 눈치채야 한다.
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Solution sol = new Solution();
int n = 0;
for (int i = 0; i < 100; i++) {
n = sol.solution(i);
System.out.println("i는 " + i + ", n은" + n);
}
}
}
class Solution {
public static int solution(int n) {
int a = 1, b = 2, c = 0;
if (n == 0)
return 1;
else if (n < 2)
return n;
for (int i = 2; i < n; i++) {
c = b;
b = (a + b) % 1000000007;
a = c;
}
return b;
}
}