프로그래머스 2xn 타일링

문제를 읽으면 어렵다. 출제자 기준에서 생각한다면, 답이 큰 수임을 보고 수열을 묻는 문제임을 알아야 한다. 이 바닥에서 유명한 피보나치 수열을 묻는 문제라고 눈치채야 한다.

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;
	}
}

댓글 남기기

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.