이는 복사 - 붙여넣기로 같은 흐름을 세 번 만들어 준 후 방향만 수정한 것으로 좋은 코드라고 하기 어렵습니다. 이를 dx, dy를 이용하여 어떻게 수정할 수 있을지 살펴봅시다.
우선 이 문제는 3개의 방향을 사용합니다. 각 방향과 그에 따른 dx, dy 값은 다음과 같습니다.
▼ 표 3-2 삼각 달팽이 문제에서 사용되는 dx, dy
|
아래 |
오른쪽 |
왼쪽 위 |
dx |
0 |
1 |
-1 |
dy |
1 |
0 |
-1 |
이를 코드로 구현하면 다음과 같습니다.
private static final int[] dx = {0, 1, -1};
private static final int[] dy = {1, 0, -1};
잠깐만요
이 배열은 변하지 않는 상수이므로 static final 키워드가 붙었습니다. 다음과 같이 클래스 이름 선언 바로 다음에 작성해주세요.
public class Solution {
private static final int[] dx = {0, 1, -1};
private static final int[] dy = {1, 0, -1};
...