대각선채우기에서 회전수가 2부터 시작하는 이유가 무엇인지요?
그리고 K는 i-J인지 궁금합니다. 회전수에서 배열의 행위치를 빼는 이유가 무엇인가요?
단순히 외워야하는부분인가요 아니면 특징을 찾아서 그렇게 하는건가요?
안녕하세요.
368쪽의 알고리즘의 이해를 살펴보면, 회전수를 이용해 열위치를 산출할 수 있기 때문입니다.
회전수(바깥쪽 반복문) i를 2부터 시작을 해야
안쪽 반복문인 J가 1일 때 열 위치는 k = i - J에 의해 1을 갖고 시작 할 수 있기 때문입니다.
그러면 1행 1열에 L인 1을 저장합니다.
이어서 j가 2일 때 열 위치는 k = i - J에 의해 0이 되는데 ⑤번 조건에 걸려 이후 계속 저장없이 반복문을 반복만 합니다.
그런 다음 i가 3으로 증가한 후
안쪽 반복문인 J가 1일 때 열 위치는 k = i - J에 의해 2를 갖고
2행 2열에 L인 2를 저장합니다.
이어서 j가 2일 때 열 위치는 k = i - J에 의해 1을 갖고
2행 1열에 L인 3을 저장합니다.
이어서 j가 3일 때 열 위치는 k = i - J에 의해 0이 되는데 ⑤번 조건에 걸려 이후 계속 저장없이 반복문을 반복만 합니다.
위와 같은 과정으로 진행됩니다. 순서도의 빈 괄호에 답을 채운 후 디버깅을 수행해 보면서 각 변수의 값 변화를 살펴보세요.
오늘도 즐거운 하루 되세요.
-
*2017-03-29 10:22:24
안녕하세요.
368쪽의 알고리즘의 이해를 살펴보면, 회전수를 이용해 열위치를 산출할 수 있기 때문입니다.
회전수(바깥쪽 반복문) i를 2부터 시작을 해야
안쪽 반복문인 J가 1일 때 열 위치는 k = i - J에 의해 1을 갖고 시작 할 수 있기 때문입니다.
그러면 1행 1열에 L인 1을 저장합니다.
이어서 j가 2일 때 열 위치는 k = i - J에 의해 0이 되는데 ⑤번 조건에 걸려 이후 계속 저장없이 반복문을 반복만 합니다.
그런 다음 i가 3으로 증가한 후
안쪽 반복문인 J가 1일 때 열 위치는 k = i - J에 의해 2를 갖고
2행 2열에 L인 2를 저장합니다.
이어서 j가 2일 때 열 위치는 k = i - J에 의해 1을 갖고
2행 1열에 L인 3을 저장합니다.
이어서 j가 3일 때 열 위치는 k = i - J에 의해 0이 되는데 ⑤번 조건에 걸려 이후 계속 저장없이 반복문을 반복만 합니다.
위와 같은 과정으로 진행됩니다. 순서도의 빈 괄호에 답을 채운 후 디버깅을 수행해 보면서 각 변수의 값 변화를 살펴보세요.
오늘도 즐거운 하루 되세요.