본문 바로가기
VBA

[VBA_로직] 대각선로직을 풀어보세요

by 일등미노왕국 2021. 9. 10.

이번 로직을 풀기 위해서는 행과 열의 크기 변화가 어떻게 되는지 정확하게 알아야 풀 수 있다. 모든 로직들이 그렇지만 결국  for문의 변수값 하나로 인해서 원하는 결과값과 그렇지 않은 결과값이 나오게 된다.

1,1 1,2 1,3
2,1 2,2 2,3
3,1 3,2 3,3

(1,1)이 출력 후 다음 값은 (1,2)에 출력이 되고, 다음은 (2,1)이 출력이 되어야 한다. (1,2) -> (2,1) 의 변화는 행값은 +1이고 열값은 -1이 된 위치이다. 반복횟수는 1열은 한번 / 2열은 2번 / 3열은 3번이기에 다중 For문 사용시 두번째 For문은 첫번째 변수 값에 종속되어 진다.

이게 이해가 되면 왼쪽부터 긴 대각선 까지 구하는 것이 이해가 될것이다.

1 2 4
3 5  
6    

6까지 출력 후 카운트 값(Cnt)은 계속 증가하지만 영역은 행의 값은 위치가 상단이 1이라고 볼때 거기서 한칸 내려오는 +1위치이고 반복해야 할 값이 3이면 2까지 반복해야 함으로 N-1까지 반복하여야 한다.

이런 로직을 풀때는 항상 1사이클을 볼 수 있는 가장 최소의 단위부터 반복문으로 돌려보면서 오류를 잡아나가는 것이 해결 방법이다.

대각선로직(21.09.10).xlsm
0.02MB

댓글