223쪽의 해설에서 16번째 해설에 a[i] 행의 요소의 개수 보다 작은 동안 17번을 반복하라 되어 있습니다.
여기서 a[i]행의 요소의 개수가 정확히 어떤 의미일까요?
이 부분이 처음에 i가 0이 선언 되었고 j는 0이 선언되고 j < a[i].length; j++ 라고 되어있는데
요소의 개수 보다 작은 동안이라면 a[0]번째 행에 머물러 있는 동안 j를 j++하라는 의미가 맞을까요?
안녕하세요 길벗수험서 운영팀입니다.
15번에서는 a 배열의 행 수 만큼 아래 코드를 반복하고
16번에서는 각 행에 속한 열의 개수만큼 아래 코드를 반복합니다.
1번에서 a 배열은 5행 5열로 선언되었으니, 15번에서 5회(행), 16번에서 각 행당 5회(열)씩 계산하면 17번 코드는 총 25를 반복해서 수행하게 되겠죠.
j < a[i].length; j++
여기서 a[i].length는 해당 행의 열 개수를 의미합니다. 2차원 배열에서 대괄호[]가 하나만 들어갔다는 것은 하나의 행 만을 선택했다는 의미입니다. 하나의 행은 1차원 배열과 다름 없으므로 행의 개수(5)가 length를 통해 반환되게 되죠.
즉, j는 0부터 열 길이인 5보다 작은 동안 1씩 증가하면서 a[i][0]~a[i][4]의 요소를 갖고 if문을 수행하게 되는 것이죠. (총 5회)
행복한 하루되세요 :)
-
관리자2021-07-07 10:08:30
안녕하세요 길벗수험서 운영팀입니다.
15번에서는 a 배열의 행 수 만큼 아래 코드를 반복하고
16번에서는 각 행에 속한 열의 개수만큼 아래 코드를 반복합니다.
1번에서 a 배열은 5행 5열로 선언되었으니, 15번에서 5회(행), 16번에서 각 행당 5회(열)씩 계산하면 17번 코드는 총 25를 반복해서 수행하게 되겠죠.
j < a[i].length; j++
여기서 a[i].length는 해당 행의 열 개수를 의미합니다. 2차원 배열에서 대괄호[]가 하나만 들어갔다는 것은 하나의 행 만을 선택했다는 의미입니다. 하나의 행은 1차원 배열과 다름 없으므로 행의 개수(5)가 length를 통해 반환되게 되죠.
즉, j는 0부터 열 길이인 5보다 작은 동안 1씩 증가하면서 a[i][0]~a[i][4]의 요소를 갖고 if문을 수행하게 되는 것이죠. (총 5회)
행복한 하루되세요 :)