안녕하세요 길벗수험서 운영팀입니다.
for (int i[] : a) 는 2차원 배열인 a를 1차원 배열인 i[]로 나눠받겠다는 의미입니다.
위의 a배열의 선언문을 보세요.
a는 2차원 배열로 이것을 풀면
a[0][4]
a[1][3]
로 구성되어 있습니다.
이것을 1차원 배열의 자료형 i[]로 받겠다는 의미죠.
즉, 1회 회전 때 i[]는 i[4]= {1, 1, 0, 1, 0}; 이 되겠고,
2회 회전 때 i[]는 i[3] = {1, 0, 1, 0}; 이 되어
2차원 배열 a가 갖고 있는 1차원 배열의 개수 만큼 회전하게 됩니다.
이제 안쪽 for문을 보죠.
for (int j:i)는 i 배열을 int자료형 만큼 나눠 받겠다고 합니다.
바깥 for문(for(int i[]:a))의 첫 회전에서 i[]는 int자료형 5개를 갖고 있습니다. {1, 1, 0, 1, 0}
즉, 각 자료를 5번 나눠받으며 5회 회전하게 되죠.
바깥 for문이 두번째 회전에서는 i[]는 int자료형 4개를 갖고 있으니 4번 회전하게 됩니다. {1, 0, 1, 0}
추가로 의문이 있으시다면 이해되지 않은 부분을 구체적으로 질문 주시면 해당 부분에 대해 상세히 설명드리겠습니다.
행복한 하루되세요 :)
-
관리자2019-05-31 11:18:49
안녕하세요 길벗수험서 운영팀입니다.
for (int i[] : a) 는 2차원 배열인 a를 1차원 배열인 i[]로 나눠받겠다는 의미입니다.
위의 a배열의 선언문을 보세요.
a는 2차원 배열로 이것을 풀면
a[0][4]
a[1][3]
로 구성되어 있습니다.
이것을 1차원 배열의 자료형 i[]로 받겠다는 의미죠.
즉, 1회 회전 때 i[]는 i[4]= {1, 1, 0, 1, 0}; 이 되겠고,
2회 회전 때 i[]는 i[3] = {1, 0, 1, 0}; 이 되어
2차원 배열 a가 갖고 있는 1차원 배열의 개수 만큼 회전하게 됩니다.
이제 안쪽 for문을 보죠.
for (int j:i)는 i 배열을 int자료형 만큼 나눠 받겠다고 합니다.
바깥 for문(for(int i[]:a))의 첫 회전에서 i[]는 int자료형 5개를 갖고 있습니다. {1, 1, 0, 1, 0}
즉, 각 자료를 5번 나눠받으며 5회 회전하게 되죠.
바깥 for문이 두번째 회전에서는 i[]는 int자료형 4개를 갖고 있으니 4번 회전하게 됩니다. {1, 0, 1, 0}
추가로 의문이 있으시다면 이해되지 않은 부분을 구체적으로 질문 주시면 해당 부분에 대해 상세히 설명드리겠습니다.
행복한 하루되세요 :)