178페이지 해설
해설 3번에 a배열이 3행이라고되어있는데
a
543
21
8742
이렇게 3행이란은뜻인거죠? 0~2행
4번해설 i[1]의 값 4를 출력한다.
i는 행만 1이라는뜻인가요? 417 답이 어떻게 나올수있는지 궁금한가봐요.
5번 총 배열 9회 할당이라고되어있는데
6번에 어떻게 36이 나온건가요? 좀 더 자세히 질문드려될까요?
안녕하세요 길벗수험서 운영팀입니다.
for (int i[ ] : a) 이 코드의 경우 a라는 2차원 배열이 있을때 타입변수에 int i[ ]라고 되어있습니다.
int i[ ] 는 1차원 배열을 말하는것이기 때문에 a배열의 각행을 int i[ ] 에 할당하라는 것인데 a배열이 3행으로 구성이 되어있으니 반복문이 총3번 실행 됩니다
해설 3번에 a배열이 3행이라고 표현이 되었는데 회원님께서 말씀하신것처럼 0행, 1행, 2행 이렇게 총3개의 행을 말하는것입니다.
아래 코드의 print 를 보면 i[1] i라는 배열의 1번 위치의 값을 출력하라고 되어있습니다.
이때 배열의 i[1] 위치에는 아래 그림처럼 빨간색으로 표시해 놓은 데이터들이 있으니 417이 출력되는 것입니다.
아래 코드에서 두번째 for를 보면 i라는 배열의 요소 갯수 만큼 반복실행이 되는데
i배열의 값을 j에 할당하고 r=r+j 식을 만나 j의 값을 r에 계속하여 누적합니다.
i배열이 이렇게 값이 들어있을때
첫번째 요소값 5가 j에 들어가고 r=r+j를 만나 r에 5를 더합니다
다시 두번째 for문으로 반복하러 가면 두번째 요소값 4가 j에 들어가고 r=r+j를 만나 r에 4를 더합니다
다시 두번째 for문으로 반복하러 가면 세번째 요소값 3이 j에 들어가고 r=r+j를 만나 r에 3를 더합니다
그리고 나서 두번째 for문이 종료가 되고 첫번째 for문으로 반복하러 올라갑니다.
해서 배열에 들어있는 모든 요소값을 r에 계속하여 누적을 합니다.
5+4+3+2+1+8+7+4+2 = 36 이기 때문에 36이 출력되는것 입니다
행복한 하루되세요 :)
-
관리자2024-07-22 22:32:35
안녕하세요 길벗수험서 운영팀입니다.
for (int i[ ] : a) 이 코드의 경우 a라는 2차원 배열이 있을때 타입변수에 int i[ ]라고 되어있습니다.
int i[ ] 는 1차원 배열을 말하는것이기 때문에 a배열의 각행을 int i[ ] 에 할당하라는 것인데 a배열이 3행으로 구성이 되어있으니 반복문이 총3번 실행 됩니다
해설 3번에 a배열이 3행이라고 표현이 되었는데 회원님께서 말씀하신것처럼 0행, 1행, 2행 이렇게 총3개의 행을 말하는것입니다.
아래 코드의 print 를 보면 i[1] i라는 배열의 1번 위치의 값을 출력하라고 되어있습니다.
이때 배열의 i[1] 위치에는 아래 그림처럼 빨간색으로 표시해 놓은 데이터들이 있으니 417이 출력되는 것입니다.
아래 코드에서 두번째 for를 보면 i라는 배열의 요소 갯수 만큼 반복실행이 되는데
i배열의 값을 j에 할당하고 r=r+j 식을 만나 j의 값을 r에 계속하여 누적합니다.
i배열이
이렇게 값이 들어있을때
첫번째 요소값 5가 j에 들어가고 r=r+j를 만나 r에 5를 더합니다
다시 두번째 for문으로 반복하러 가면 두번째 요소값 4가 j에 들어가고 r=r+j를 만나 r에 4를 더합니다
다시 두번째 for문으로 반복하러 가면 세번째 요소값 3이 j에 들어가고 r=r+j를 만나 r에 3를 더합니다
그리고 나서 두번째 for문이 종료가 되고 첫번째 for문으로 반복하러 올라갑니다.
해서 배열에 들어있는 모든 요소값을 r에 계속하여 누적을 합니다.
5+4+3+2+1+8+7+4+2 = 36 이기 때문에 36이 출력되는것 입니다
행복한 하루되세요 :)