백준알고리즘/c++/1003/피보나치 함수
2020. 3. 13. 00:07ㆍ백준알고리즘
일단 이 문제 시간초과 정말 많이 봤다.... 힘들었다
하다하다 검색을 했는데 1년전쯤은 제한시간이 2초였는데 지금 0.25 초로 바뀌었다?
너무힘들었다 ....
문제의 내용은 0,1 일때 체크를하면된다. 언뜻보기엔 정말 쉬워보였다 (사실 2초 정도면 주어진 소스에서 카운트만 하면된다.)
처음엔 카운트만 하는식으로 풀엇다가 1.5초 정도 나와서 계속 실패했다.
그래서
피보나치는 결국 재귀로 이루어져있고 숫자가 커지면 필연적으로 연산량이 증가하며 효율이 별로다.
그래서 계산한 값을 저장할 곳을 만들어주고 그 값을 바로 반환하는 식으로 했더니 거의 시간이 걸리지 않았다.
중요아이디어: 값을 저장할 배열을 만든 뒤 그 값을 이용하여 연산을 처리한다.
이거도 아마 cout cin 을 printf scanf 로 바꾸면 아마 더 빨라질 것 같다.
'백준알고리즘' 카테고리의 다른 글
백준알고리즘/c++/4673/셀프 넘버 (0) | 2020.03.23 |
---|---|
백준알고리즘/c++/2749/피보나치 수3 (0) | 2020.03.14 |
백준알고리즘/c++/2748/피보나치 수 2 (0) | 2020.03.11 |
백준알고리즘/c++/2747/피보나치 수 (0) | 2020.03.09 |
백준알고리즘/c++/2747/피보나치 수 (0) | 2019.04.30 |