ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 11727 - 2×n 타일링 2
    백준 algorithm 2019. 8. 31. 17:58

    처음 풀어보는 문제라 많이 버벅거렸다. 
    30분이상 생각하다가 답이 안나와 구글링하여 답을 보고 내 방식대로 짜봤다. 
    참고로 vector로 풀어서 좋을건 하나도 없을 거 같다. 

    배열로만 풀어도 되는 문제다. 

    answer[i] = answer[i-1] + (answer[i-2]*2)
    의 식만 적용하면 풀수 있는 간단한 문제다. 
    알고리즘 문제를 풀때는 항상 종이와 펜이 필수다.

    #include <iostream>
    #include <vector>
    
    using namespace std;
    
    int method(int n)
    {
    	vector<int> answer;
    	answer.push_back(0);
    	answer.push_back(1);
    	answer.push_back(3);
    	if (n == 1)
    	{
    		return answer[1];
    	}
    	else if (n == 2)
    	{
    		return answer[2];
    	}
    	else
    	{
    		for (int i = 3; i <= n; i++)
    		{
    			int value = 0;
    			value = answer[i - 1] + (answer[i - 2] * 2);
    			answer.push_back(value%10007);
    		}
    		return answer[n] ;
    	}
    }
    
    int main()
    {
    	int n;//2xn 크기의 직사각형
    	cin >> n;
    	method(n);
    	cout << method(n);
    	cout << endl;
    	return 0;
    }

    '백준 algorithm' 카테고리의 다른 글

    백준 1037 - 약수  (0) 2019.09.02
    백준 1065 - 한수  (0) 2019.09.02
    백준 2440 - 별 찍기 - 3  (0) 2019.08.31
    백준 2439-별찍기-2  (0) 2019.08.31
    백준 2438-별 찍기 - 1  (0) 2019.08.31

    댓글

Designed by Who.