프로그래밍의 기초(의사 코드 트레이스)
배열의 인덱스는 1부터 시작한다. 최대 요소를 찾는 다음 프로그램을 실행한 후의 m의 값은?
integer array: a ← {3, 8, 2, 8, 5}
integer: m ← 1
for (i from 2 to 5 step 1)
if (a[i] > a[m])
m ← i
endif
endfor
- A2
- B4
- C8
정답과 해설 보기
정답: A. 2
m은 그때까지 본 것 중 최대인 요소의 인덱스입니다. i = 2에서 a[2] = 8 > a[1] = 3이므로 m = 2가 됩니다. i = 4의 a[4] = 8은 a[2] = 8과 같아 >가 성립하지 않으므로 m은 바뀌지 않습니다. 따라서 최댓값이 여러 개일 때는 처음 나타난 인덱스 2가 남습니다. 조건을 ≧로 하면 마지막에 나타난 인덱스 4가 됩니다.