MY MEMO

[BAEKJOON] 1463번 1로 나누기 본문

ALGORITHM/BAEKJOON

[BAEKJOON] 1463번 1로 나누기

l_j_yeon 2017. 5. 22. 17:08
오류 코드




정답 코드



오류가 있는 코드가 내가 짠 코드이다.

그리고 밑이 정답 코드이다.


이 문제를 처음 봤을 때 처음 든 생각은

DP를 써야겠구나 였다


DP의 가장 중요한 것은 memorization이다. 어떻게 저장할 cache를 만들까?


1차배열을 만들었다. 1차배열에서 가장 큰 수 INT_MAX를 미리 저장해놓았다


왜냐하면 minimum을 저장해야하기 때문이다.


코드의 전체적인 흐름은 이렇다


나머지가 n일때 최소 값을 배열에 저장한다 그리고 그 다음으로 넘겨준다

이 과정을 반복하여 나타내는 것이다.


정답 코드는 가장 끝까지 간다 즉 remain이 1일때까지 간다 그리고 올라오면서 1을 더해주는 과정이다


나는 가장 끝까지 간다 하지만 내려가면서 더해준다. 그리고 올라오면서 결과 값을 return 해준다.


맨 처음 나도 정답코드 처럼 생각했다. 하지만 어떻게 구현할 지 방법을 몰랐다.

따라서 위에서부터 아래로 내려가면서 계속 더해주었고 결과값을 저장했다.

이것의 가장 큰 오류는 memorization이 제대로 되지 않는 다는 것이다.


만약 돌아가다가 ret!=INT_MAX이면 ret의 return해줘야하는데

remain이 남았을 때가 아닌 끝까지 돌아간 값을 return해준다.


나는 앞으로 배울 것이 너무 많다.

차근차근 알아가보자.





'ALGORITHM > BAEKJOON' 카테고리의 다른 글

[BAEKJOON] 1937 욕심쟁이 판다  (0) 2017.05.30
[BAEKJOON]1912 연속합  (0) 2017.05.30
[BAEKJOON] 10844 쉬운 계단 수  (0) 2017.05.30
[BAEKJOON] 2156 포도주 시식  (0) 2017.05.28
[BAEKJOON] 2193번 이친수  (0) 2017.05.23
Comments