나의 코드:
public class Gugudan {
public static void main(String[] args) {
int[] result = new int[9];
for (int i = 0; i < result.length; i++) {
for (int j = 2; j < 10; j++) {
result[i] = j * (i + 1);
}
for (i = 0; i < result.length; i++) {
System.out.println(result[i]);
}
}
}
}
답안 코드:
public class answer {
public static void main(String[] args) {
int[] result = new int[9];
for (int j = 2; j < 10; j++) {
for (int i = 0; i < result.length; i++) {
result[i] = j * (i + 1);
}
for (int i = 0; i < result.length; i++) {
System.out.println(result[i]);
}
}
}
}
이중 for문(Nested For Loop)에서 바깥 for loop과 안쪽 for loop의 위치만 정확하게 반대이다. 왜 그렇게 된 것일까 생각해보았다. 구구단은 j x i의 형태이다. 즉 j가 먼저 돌고 그 다음에 i가 도는 것이다. 따라서 변수 j가 선언된 for loop 안에 변수 i가 선언된 for loop이 위치하게 되는 구조가 되는 것이 아닌가 한다.
'WIL(What I Learned)' 카테고리의 다른 글
TIL (0) | 2021.09.14 |
---|---|
(자바 플레이그라운드) 구구단 추가과제 메서드 학습 (0) | 2021.08.29 |
원소를 무한히 저장하는 ArrayList 구현하기 (프로그래머스 자바 자료구조) (0) | 2021.08.23 |
java ArrayList indexOf() (0) | 2021.08.23 |
Iterator를 활용해 ArrayList의 모든 요소 출력하기. (0) | 2021.08.20 |