작성
·
255
0
public static void main(String[] args) {
int max = 5;
String[] movement = new String[]{"R", "R", "R", "U", "D", "D"};
int x = 1;
int y = 1;
for (int i = 0; i < movement.length; i++) {
if (movement[i] == "L") {
y--;
}
if (movement[i] == "R") {
y++;
}
if (movement[i] == "U") {
x--;
}
if (movement[i] == "D") {
x++;
}
if (x > max || y > max || x < 1 || y < 1) {
continue;
}
System.out.println(x + "," + y);
}
// System.out.println(x + "," + y);
}
이렇게 메인함수를 작성했습니다.
제 생각에는 세 번의 R 이동 후 ( 1,2 -> 1,3 -> 1,4) U에서 조건 범위를 벗어나 1,4 상태로 D로 이동.
D 루프의 결과 2,4
마지막 D루프의 결과 3,4
이렇게 출력되어야 할 것 같은데
1,2
1,3
1,4
1,4
2,4
이렇게 출력이 됩니다.
GPT를 검색하니
5번만 출력이 되는 이유는 continue문에서 1,4 를 출력하지 않아서
1,2 -> 1,3 -> 1,4 -> 1,4(continue) -> 1,4 -> 2, 4 이렇게 출력이 되었다고 하는데
이게 맞다면
continue 문을 돌고난 이후 첫번째 D루프에서 x의 값이 증가하지 않는 이유가 궁금합니다.