책 정말 잘 보고 있습니다. 감사합니다.
다름이 아니라 알고리즘 다이아몬드를 보고 있는데
5,5 배열일 경우 행변수 i 가 3이 될 때까지 열 시작변수 S는
1씩 줄어들고 열 마지막 변수 E는 1씩 늘어나야 하는데
IF 문 안에 정답이 i >= 3 이렇게 되어 있는데요.
i가 3일 때 YES를 따라가면 S를 1늘리고 E를 1 줄이라는 명령과
만납니다. i > 3 이렇게 바뀌어야 3까지 벌려주고 4부터 좁히는 것
아닌가 싶은데 제가 잘못 이해한 건지
여러번 생각해도 답이 나오지 않아 문의드립니다.
수고하십시오.
안녕하세요.
직접 디버깅을 수행하면 눈으로 짐작한 것과 다르다는 것을 알 수 있습니다.
그래서 질문도 많은 내용이구요.
교재의 모든 알고리즘은 반드시 디버깅을 직접 수행해 보면서 내용을 이해하는 습관을 들여야 합니다.
해당 알고리즘은
우선 행과 열로 지정된 위치에 K 값을 저장한 후
S와 E의 값을 변경합니다.
이와 같은 저장 후 시작과 끝 위치를 변경하는 경우와
시작과 끝 위치를 변경한 후 저장하는 경우에 따라 중간 값 판단 기준이 달라질 수 있습니다.
그러니 교재의 빈 괄호를 모두 채운 상태에서 디버깅을 수행하면서 각 변수의 값 변화를 꼼꼼하게 살펴보세요.
오늘도 즐거운 하루되세요.
-
*2016-10-06 09:23:20
안녕하세요.
직접 디버깅을 수행하면 눈으로 짐작한 것과 다르다는 것을 알 수 있습니다.
그래서 질문도 많은 내용이구요.
교재의 모든 알고리즘은 반드시 디버깅을 직접 수행해 보면서 내용을 이해하는 습관을 들여야 합니다.
해당 알고리즘은
우선 행과 열로 지정된 위치에 K 값을 저장한 후
S와 E의 값을 변경합니다.
이와 같은 저장 후 시작과 끝 위치를 변경하는 경우와
시작과 끝 위치를 변경한 후 저장하는 경우에 따라 중간 값 판단 기준이 달라질 수 있습니다.
그러니 교재의 빈 괄호를 모두 채운 상태에서 디버깅을 수행하면서 각 변수의 값 변화를 꼼꼼하게 살펴보세요.
오늘도 즐거운 하루되세요.