Dolphins의 HelloWorld
풀이 기저조건 : n = 1일 때, f(n) = 1n = 2일 때, f(n) = 2 점화식 : 2 x 1 타일의 경우 무조건 2개를 사용하면서 2x2 정사각형을 만듦1 x 2 타일의 경우 전에 있었던 타일로부터 그냥 하나씩 붙이면 됨 고로 f(n) = f(n-2) + f(n-1) 그리고 답이 10007로 나눈 나머지이므로 반복문에서 계속 mod연산을 수행한다.(미리 mod 연산을 해도 최종 답에 영향을 미치지 않음) #include #include #include #include using namespace std; int memo[1001]; int main() { int n; cin >> n; memo[1] = 1; memo[2] = 2; for (int i = 3; i
풀이 첫번째 풀이는 bottom-up 방식을 사용하였다. 연산을 사용해서 끝나는 마지막 값이 1이므로 초기값은 m[1] = 0으로 주었다. 그 후 반복문을 사용하여 구하고자 하는 수까지 반복하면서 세가지 방법중에 가장 작은값이 나오는것을 배열값으로 주었다. 아래는 그 점화식과 코드이다. f(n) = min(f(n-1) + 1, f(n/3) + 1, f(n/2) + 1)) #include #include #include #define SIZE 1000000 //입력값으로 줄 수 있는 최댓값 using namespace std; int memo[SIZE + 1]; //값을 저장하는 배열 int main() { memset(memo, -1, sizeof(int)*(SIZE + 1)); //배열의 모든 값들을 ..
tuple은 list와 비슷하다 tuple을 선언해줄 때는 exp = (1,2,3) 과 같이 대괄호가 아닌 소괄호를 통해서 선언을 해주고 print를 하거나 exp[0]과 같은 명령어를 입력하면 list와 같은 방식으로 결과값이 나온다. 결정적인 list와 tuple의 차이점은 tuple은 변경불가능하다는 점이다. list = [1,2,3,4] tuple = (1,2,3,4) list[1] = 10 tuple[1] = 10 위의 코드를 통해 item을 할당하는 과정에서 list와 달리 tuple에서 에러가 나는것을 확인할 수 있다. tuple은 list보다 빠르고 용량을 덜 차지하는 특징을 가지고있다.고로 데이터에 대한 변경이 없다면 tuple을 사용하는 것이 훨씬 효율적이다. tuple의 특징 dict..