프로그래밍의 기초(의사 코드 트레이스)
m[i, j]는 2차원 배열 m의 i행 j열의 요소를 나타내며, 인덱스는 1부터 시작한다. 다음 프로그램을 실행한 후의 s의 값은?
2D integer array: m ← {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
integer: s ← 0
for (i from 1 to 3 step 1)
for (j from 1 to i step 1)
s ← s + m[i, j]
endfor
endfor
- A15
- B26
- C34
정답과 해설 보기
정답: C. 34
안쪽의 {…}가 각각 한 행을 나타냅니다. j는 1부터 i까지 움직이므로 1행은 m[1, 1] = 1, 2행은 4 + 5, 3행은 7 + 8 + 9를 더하여 s = 1 + 9 + 24 = 34가 됩니다. 대각선과 그 왼쪽 아래(하삼각)의 요소의 합계입니다. 행과 열을 혼동하여 m[j, i]로 하면 오른쪽 위(상삼각)의 1 + 2 + 5 + 3 + 6 + 9 = 26이 됩니다.