책 내용 질문하기
답안이 이해가 안되어 질문드립니다.
도서
2016 시나공 정보처리기사 실기
페이지
185
조회수
80
작성일
2016-10-05
작성자
첨부파일

책 정말 잘 보고 있습니다. 감사합니다.

다름이 아니라 알고리즘 다이아몬드를 보고 있는데

5,5 배열일 경우 행변수 i 가 3이 될 때까지 열 시작변수 S는

1씩 줄어들고 열 마지막 변수 E는 1씩 늘어나야 하는데

IF 문 안에 정답이 i >= 3 이렇게 되어 있는데요.

i가 3일 때 YES를 따라가면 S를 1늘리고 E를 1 줄이라는 명령과

만납니다. i > 3 이렇게 바뀌어야 3까지 벌려주고 4부터 좁히는 것

아닌가 싶은데 제가 잘못 이해한 건지

여러번 생각해도 답이 나오지 않아 문의드립니다.

수고하십시오.

답변
2016-10-06 09:23:20

안녕하세요.

직접 디버깅을 수행하면 눈으로 짐작한 것과 다르다는 것을 알 수 있습니다.

그래서 질문도 많은 내용이구요.

교재의 모든 알고리즘은 반드시 디버깅을 직접 수행해 보면서 내용을 이해하는 습관을 들여야 합니다.

해당 알고리즘은

우선 행과 열로 지정된 위치에 K 값을 저장한 후

S와 E의 값을 변경합니다.

이와 같은 저장 후 시작과 끝 위치를 변경하는 경우와

시작과 끝 위치를 변경한 후 저장하는 경우에 따라 중간 값 판단 기준이 달라질 수 있습니다.

그러니 교재의 빈 괄호를 모두 채운 상태에서 디버깅을 수행하면서 각 변수의 값 변화를 꼼꼼하게 살펴보세요.

오늘도 즐거운 하루되세요.

  • *
    2016-10-06 09:23:20

    안녕하세요.

    직접 디버깅을 수행하면 눈으로 짐작한 것과 다르다는 것을 알 수 있습니다.

    그래서 질문도 많은 내용이구요.

    교재의 모든 알고리즘은 반드시 디버깅을 직접 수행해 보면서 내용을 이해하는 습관을 들여야 합니다.

    해당 알고리즘은

    우선 행과 열로 지정된 위치에 K 값을 저장한 후

    S와 E의 값을 변경합니다.

    이와 같은 저장 후 시작과 끝 위치를 변경하는 경우와

    시작과 끝 위치를 변경한 후 저장하는 경우에 따라 중간 값 판단 기준이 달라질 수 있습니다.

    그러니 교재의 빈 괄호를 모두 채운 상태에서 디버깅을 수행하면서 각 변수의 값 변화를 꼼꼼하게 살펴보세요.

    오늘도 즐거운 하루되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.