Baekjoon Online Judge - 2747
Review
- 본격 DP 들어가기 전에 한번 풀어본 문제.
- 메모이제이션으로 풀었는데도 시간 초과가 떠서 당황하게 만들었던 문제다.
- 알고 보니 내 코드에 문제가 있는 거였음. 역시 컴파일러는 거짓말을 안 한다… ㅜ
- 일단 전역으로 배열 선언한 다음 메인 함수에서 초기화를 해준다.
- 이때 입력값보다 1을 더해서 배열의 크기를 정해주어야 한다.
- 예를 들어 0부터 10까지의 피보나치 수열을 구한다면, 배열의 크기는 0~10까지인 총 11이 되어야 하기 때문이다.
- 그리고 피보나치 수열을 구하는 함수에서 배열에 값을 넣어주면 된다.
- 나는 배열을 지역 변수로 선언했다가 시간 초과를 보았다… ㅡㅡ;;
- 사실 1003 문제 풀고 싶었는데… 온갖 삽질로 시간 초과만 보다가 결국 풀지 못했다.
- 1003은 다음 기회에… 꼭 플고 만다.
Code (JAVA)
1 | import java.io.*; |