티스토리 뷰

순열 조합 관한 문제라고 생각해서 엄청 고민 많이 했는데 사실은 그냥 피보나치였다.

물론 순열 조합으로 푼 사람도 있으나... 넘 어려움

그렇지만 그냥 피보나치로 풀면 안되고 num[i] 값을 넣을 때마다 1234567로 계속 나눠줘야한다.

맨 마지막 answer 에서 나누면 틀림 !!

 

느낀 점 : 도저히 알고리즘을 구상하는게 힘들다면 모든 경우의 수를 나열해보고 수열이나 규칙이 있는지 확인해볼 것

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
 
long long solution(int n) {
    long long answer = 0;
    long long num[n];
    
    num[0= 1;
    num[1= 1;
    
    for(int i =2; i<= n; i++){
        num[i] = (num[i-1+ num[i-2])%1234567;
    }
    
    answer = num[n];
    
    return answer;
}
댓글