injoon2018   5년 전

다른 분의 코드 전체를 그대로 복사해서 올리는 것은 안될 것 같아 부분만 올리겠습니다..

int d1 = solve(x / 3) + (x % 3) + 1;

재귀 함수 내에서 다들   (x % 3) 이 부분이 있는데 왜 이 코드가 나오게 된 것 인가요?

전 1000001 짜리 배열을 선언하고 문제를 풀었더니 풀긴 풀었는데 메모리를 너무 잡아먹네요;;

cozyyg   5년 전

x%3번 "1을 뺀다" 시행을 하고 나서 "3으로 나눈다"를 하면 x/3이 되겠죠. 그걸 의미하는 겁니다.

injoon2018   5년 전

예를들어 숫자가 5이면 1을빼고 4에서 2를 나눈다.  여기서 '1을뺀다'의 과정을 위해서 있는 것이 맞나요?  '+1'은 n을 2이든 3이든 나눈 과정으로 가기때문에 한번 더하는 것이고

cozyyg   5년 전

그런 듯 합니다. 제가 푼 방법이랑 달라서 저도 확실히는 모르겠지만요.

injoon2018   5년 전

넵 감사합니다!

댓글을 작성하려면 로그인해야 합니다.