안녕하세요.
numAry에는 0, 0, 0, 0, 3 이 저장되어 있습니다.
즉
numAry[0]에는 0이
numAry[1]에는 0이
numAry[2]에는 0이
numAry[3]에는 0이
numAry[4]에는 3이 저장되어 있는 것이죠.
바깥쪽 for문
j는 초기값 4를 가지고 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4를 가지고 종료값 i > j 조건을 만족하지 않으므로 반복문을 수행하지 않고 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 3이된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[3]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[3]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 0
numAry[2]에는 0
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 2가된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[2]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[2]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 0
numAry[2]에는 3
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[2]에 numAry[3]의 값을 누적합니다. 그러면 아래와 같이 numAry[2]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 0
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 2이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 1이된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[1]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[1]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 3
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[1]에 numAry[3]의 값을 누적합니다. 그러면 아래와 같이 numAry[1]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 6
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 2가된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[1]에 numAry[2]의 값을 누적합니다. 그러면 아래와 같이 numAry[1]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 1이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 0이된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 3
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[3]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 6
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 2가된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[2]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 12
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 1이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[1]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 24
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 1이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 -1이된 상태에서 종료값 j>=0 조건에 만족하지 않으므로 반복문을 빠져나옵니다.
그래서 결국 최종적으로 nuymAry 배열의 값은
24 12 6 3 3이 되므로 화면에는 한 줄씩 출력되어
24
12
6
3
3
이 된 것입니다
수행 과정을 526쪽 디비겅 표와 함께 이해하시면 쉽게 이해하실 수 있습니다.
참고로 예상문제은행은 동영상 강의를 제공하고 있습니다.
시나공 카페 왼쪽 메뉴 중 토막강의 상단에 등록된
[정보처리 특강] 기출문제 & 예상문제 풀이 강좌
를 다운받아 학습에 참고하세요.
오늘도 즐거운 하루 되세요.
-
*2018-06-11 09:54:34
안녕하세요.
numAry에는 0, 0, 0, 0, 3 이 저장되어 있습니다.
즉
numAry[0]에는 0이
numAry[1]에는 0이
numAry[2]에는 0이
numAry[3]에는 0이
numAry[4]에는 3이 저장되어 있는 것이죠.
바깥쪽 for문
j는 초기값 4를 가지고 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4를 가지고 종료값 i > j 조건을 만족하지 않으므로 반복문을 수행하지 않고 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 3이된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[3]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[3]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 0
numAry[2]에는 0
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시
바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 2가된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[2]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[2]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 0
numAry[2]에는 3
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[2]에 numAry[3]의 값을 누적합니다. 그러면 아래와 같이 numAry[2]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 0
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문i는 증가값 --i로 인해 1 감소되어 2이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 1이된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[1]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[1]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 3
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[1]에 numAry[3]의 값을 누적합니다. 그러면 아래와 같이 numAry[1]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 6
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문i는 증가값 --i로 인해 1 감소되어 2가된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[1]에 numAry[2]의 값을 누적합니다. 그러면 아래와 같이 numAry[1]의 값이 변경됩니다.
numAry[0]에는 0
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문i는 증가값 --i로 인해 1 감소되어 1이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 0이된 상태에서 종료값 j>=0 조건에 만족하므로 안쪽 for문을 수행합니다.
안쪽 for문
i는 초기값 4을 가지고 종료값 i >j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[4]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 3
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 3이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[3]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 6
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 2가된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[2]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 12
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문i는 증가값 --i로 인해 1 감소되어 1이된 상태에서 종료값 i > j 조건을 만족하므로
numAry[j] += numAry[i];를 수행하여
numAry[0]에 numAry[1]의 값을 누적합니다. 그러면 아래와 같이 numAry[0]의 값이 변경됩니다.
numAry[0]에는 24
numAry[1]에는 12
numAry[2]에는 6
numAry[3]에는 3
numAry[4]에는 3이 저장되어 있습니다.
안쪽 for문
i는 증가값 --i로 인해 1 감소되어 1이된 상태에서 종료값 i > j 조건을 만족하지 않으므로 반문을 빠져나옵니다.
다시바깥쪽 for문
j는 증가값 --j로 인해 1 감소되어 -1이된 상태에서 종료값 j>=0 조건에 만족하지 않으므로 반복문을 빠져나옵니다.
그래서 결국 최종적으로 nuymAry 배열의 값은
24 12 6 3 3이 되므로 화면에는 한 줄씩 출력되어
24
12
6
3
3
이 된 것입니다
수행 과정을 526쪽 디비겅 표와 함께 이해하시면 쉽게 이해하실 수 있습니다.
참고로 예상문제은행은 동영상 강의를 제공하고 있습니다.
시나공 카페 왼쪽 메뉴 중 토막강의 상단에 등록된
[정보처리 특강] 기출문제 & 예상문제 풀이 강좌
를 다운받아 학습에 참고하세요.
오늘도 즐거운 하루 되세요.