배열 dx, dy의 인덱스는 방향을 나타냅니다. 이 방향은 숫자를 채워 나감에 따라 변하므로 위치 변수와 함께 방향 변수를 추가합니다.
...
int x = 0;
int y = 0;
int d = 0;
...
이제 숫자를 채워 넣을 차례입니다. 조건을 만족하는 한 계속 숫자를 채워 넣어야 하므로 이전과 마찬가지로 무한 루프로 구성합니다.
while (true) {
}
전에 작성한 코드는 서로 다른 방향별로 진행하는 것을 구현해야 했기 때문에 각 방향별로 추가 반복문이 있었습니다. dx, dy를 사용하면 모든 방향에 동일한 로직을 적용시킬 수 있으므로 추가 반복문이 필요하지 않습니다.
무한 루프 안에서 다음과 같이 triangle에 숫자를 채워 줍니다.
triangle[y][x] = v++;