일요일, 9월 02, 2012

문제로 풀어보는 알고리즘 149쪽 문제 3.c 풀이, -16를 구하자-


『문제로 풀어보는 알고리즘』

저는 문제 *참고* 중에 "대략 16"과 그리고 저 ^^ 웃음 표시가 마음에 걸렸습니다. 다른 분들은 n이 몇일 때가지 해보셨는지 모르지만, 파이썬으로 작성한 저의 프로그램에서는 12까지 구하고, 13부터는 열심히 계산하는 척만하고 메모리 오류를 발생합니다.


그래서 다시 고심했습니다. 애들 밥상을 차려줄 때도, 엠보(로보캅 폴리에 나오는 엠블라스), 로이(소방차)를 그려줄 때도 머가 더 좋은 것이 없나.....

OTL

결론은 바로 n으로 가기위해서는 n-1까지 반드시 계산이 필요하다는 것과 대충 계산해보면 13일때 4G가 넘어간다는 사실입니다.

그래서 로직 개선은 포기하고 메모리를 사용하지 않는 방향으로 프로그램을 살짝(?) 수정을 하였습니다. 메모리를 사용하지 않는다면.....디스크를 사용합니다. :'(

디스크를 사용할 때, 눈으로 보기 쉽도록 와 같이 저장되도록, 로직을 변경하였습니다.

{0}{1}{2}
{0,2}{1}
{0}{1,2}
{0,1}{2}
{0,1,2}


현재 14계산 중인데 메모리는 2.5메가 정도 사용하고 있군요. ^^
왠지 15,16은 오늘중으로 결과가 나올지 의심스럽지만.......누가 컴퓨터를 끄지 않는다면 다시 캡쳐를 해보겠습니다.

감사합니다.




댓글 2개:

익명 :

ㅋㅋㅋ 재미있으십니다.
잘 푸신 거 같은데..

석대진 :

잘 못풀었더라구요:'(, 인사이트님 트위터에 누가 괴물같은 분들이 많다고 하던데 정말 괴물같이 메모리, 디스크 거이 사용안하고 모니터(?)만 사용해서 결과가 나오는 아주 멋진 분이 있었어요. 존경 +_+