문제 2번 해설을 봐도 잘 이해가 가지않습니다 for문부터 설명좀 해주세요
안녕하세요.
향상된 for문으로 배열을 이용하였습니다.
a 배열의 행 요소 수만큼 아래쪽 for문을 반복 수행합니다.
for(int i[] : a)와 같이 a 배열의 한 개의 행이 할당될 변수를 1차원 배열로 선언하였습니다.
a 배열이 2개의 행을 가지므로 각 행의 요소를 i에 저장하면서 아래쪽 for번을 2번 수행합니다.
해설의 그림과 같이
먼저 1행을 배열 i[]에 옮깁니다. 그러면 배열 i[]에는 11 12 13 14 이렇게 4개의 요소를 갖게 됩니다.
이 값을 가지고 아래쪽 for(int j : i)를 수행하면 i에 4개의 요소가 저장되어 있으므로 그 요소를 j에 하나씩 건네주면서
hap = hap + j를 4회 수행하게 됩니다.
hap에는 11, 12, 13, 14가 차례로 누적됩니다.
아래쪽 반복문이 끝나면 다시 위쪽 반복문으로 돌아가
이번에는 2행을 배열 i[]에 옮깁니다. 그러면 배열 i[]에는 21, 22, 23, 24 이렇게 4개의 요소를 갖게 됩니다.
이 값을 가지고 아래쪽 for(int j : i)를 수행하면 i에 4개의 요소가 저장되어 있으므로 그 요소를 j에 하나씩 건네주면서
hap = hap + j를 4회 수행하게 됩니다.
앞서 누적된 hap에 21, 22, 23, 24가 차례로 누적됩니다.
위 내용이 해설에는 그림과 함께 단계별로 설명되어 있습니다.
배열의 요소가 하나씩 옮겨가면서 반복문이 수행되는 향상된 for의 원리를 염두에 두고 다시 한 번 해설을 살펴보세요.
오늘도 즐거운 하루 되세요.
-
*2017-03-21 09:27:09
안녕하세요.
향상된 for문으로 배열을 이용하였습니다.
a 배열의 행 요소 수만큼 아래쪽 for문을 반복 수행합니다.
for(int i[] : a)와 같이 a 배열의 한 개의 행이 할당될 변수를 1차원 배열로 선언하였습니다.
a 배열이 2개의 행을 가지므로 각 행의 요소를 i에 저장하면서 아래쪽 for번을 2번 수행합니다.
해설의 그림과 같이
먼저 1행을 배열 i[]에 옮깁니다. 그러면 배열 i[]에는 11 12 13 14 이렇게 4개의 요소를 갖게 됩니다.
이 값을 가지고 아래쪽 for(int j : i)를 수행하면 i에 4개의 요소가 저장되어 있으므로 그 요소를 j에 하나씩 건네주면서
hap = hap + j를 4회 수행하게 됩니다.
hap에는 11, 12, 13, 14가 차례로 누적됩니다.
아래쪽 반복문이 끝나면 다시 위쪽 반복문으로 돌아가
이번에는 2행을 배열 i[]에 옮깁니다. 그러면 배열 i[]에는 21, 22, 23, 24 이렇게 4개의 요소를 갖게 됩니다.
이 값을 가지고 아래쪽 for(int j : i)를 수행하면 i에 4개의 요소가 저장되어 있으므로 그 요소를 j에 하나씩 건네주면서
hap = hap + j를 4회 수행하게 됩니다.
앞서 누적된 hap에 21, 22, 23, 24가 차례로 누적됩니다.
위 내용이 해설에는 그림과 함께 단계별로 설명되어 있습니다.
배열의 요소가 하나씩 옮겨가면서 반복문이 수행되는 향상된 for의 원리를 염두에 두고 다시 한 번 해설을 살펴보세요.
오늘도 즐거운 하루 되세요.