1003번 - 피보나치 함수
나름 질문글 2년전꺼까지 다 읽어보면서 반례찾아보려 했지만 틀렸습니다가 계속떠서 조심스럽게 질문드립니다.
제가 생각한 원리는 피보나치 수열 원리에 의해서
n에서 0이 나오는 횟수 = n-1에서 0이 나오는 횟수 + n-2에서 0이 나오는 횟수
n에서 1이 나오는 횟수 = n-1에서 1이 나오는 횟수 + n-2에서 1이 나오는 횟수
라는 원리를 기반으로 코드를 작성하였고, 메모이제이션과 bottom-up방식을 채택했다고 생각했습니다... 혹시 제 생각이 틀렸나요?
출력이 틀린 예가 있어서 알려주시면 정말 감사하겠고 정말 죄송합니다...
*타임헤더 및 프로그램 시간측정은 빼고 채점했습니다(주석이라 영향도 없구요)
2 2 3 과 같은 입력이 들어오면 먼저 count_num(2); 가 실행되고, last_idx의 값은 3이 됩니다.
그 후 count_num(3);이 실행되면 19번째 줄의 if문에 튕기게 되고, count_0[3], count_1[3]은 계산한 적이 없으니 0 0이 출력되어 틀리게 되는 것이죠.
말도안되는 실수를 했었네용 ㅎㅎ... 감사합니당
댓글을 작성하려면 로그인해야 합니다.
uvzone 4년 전
나름 질문글 2년전꺼까지 다 읽어보면서 반례찾아보려 했지만 틀렸습니다가 계속떠서 조심스럽게 질문드립니다.
제가 생각한 원리는 피보나치 수열 원리에 의해서
n에서 0이 나오는 횟수 = n-1에서 0이 나오는 횟수 + n-2에서 0이 나오는 횟수
n에서 1이 나오는 횟수 = n-1에서 1이 나오는 횟수 + n-2에서 1이 나오는 횟수
라는 원리를 기반으로 코드를 작성하였고, 메모이제이션과 bottom-up방식을 채택했다고 생각했습니다... 혹시 제 생각이 틀렸나요?
출력이 틀린 예가 있어서 알려주시면 정말 감사하겠고 정말 죄송합니다...
*타임헤더 및 프로그램 시간측정은 빼고 채점했습니다(주석이라 영향도 없구요)