프로그래밍의 기초(의사 코드 트레이스)

배열의 인덱스는 1부터 시작한다. 다음 프로그램을 실행한 후의 배열 a의 내용은?

integer array: a ← {5, 1, 4, 2, 3}
integer: t ← a[1]
for (i from 1 to 4 step 1)
  a[i] ← a[i + 1]
endfor
a[5] ← t
  1. A{1, 4, 2, 3, 5}
  2. B{1, 4, 2, 3, 3}
  3. C{3, 5, 1, 4, 2}
정답과 해설 보기

정답: A. {1, 4, 2, 3, 5}

맨 앞의 값 5를 t에 대피시킨 후, a[i] ← a[i + 1]로 각 요소를 하나씩 앞으로 당깁니다. i를 작은 쪽부터 진행하므로 덮어쓰기 전의 값이 차례로 앞으로 옮겨져 {1, 4, 2, 3, 3}이 됩니다. 마지막으로 a[5] ← t로 끝에 5를 넣어 {1, 4, 2, 3, 5}가 됩니다. 전체를 왼쪽으로 하나 회전시키는 처리입니다.

이 분야 연습하기 분야로 돌아가기

프로그래밍의 기초(의사 코드 트레이스)의 다른 문제

  1. 배열의 인덱스는 1부터 시작한다. 이웃한 요소를 비교하는 다음 프로그램을 실행한 후의 c의 값은?
  2. m[i, j]는 2차원 배열 m의 i행 j열의 요소를 나타내며, 인덱스는 1부터 시작한다. 다음 프로그램을 실행한 후의 s의 값은?
  3. 4행 5열의 2차원 배열 m의 요소를 다음 프로그램으로 요소 수 20인 배열 b로 옮긴다. m[i, j]는 i행 j열의 요소를 나타내며, 인덱스는 1부터 시작한다. m[3, 2]가 대입되는 b의 인덱스는?
  4. 배열의 인덱스는 1부터 시작하며, +는 문자열을 연결한다. 다음 프로그램을 실행한 후의 r의 값은?
  5. 다음 함수 isPal은 문자열형 배열 s의 문자 순서가 앞에서 읽어도 뒤에서 읽어도 같으면(회문) true를 반환한다. 배열의 인덱스는 1부터 시작한다. 프로그램 중의 【a】에 들어갈 것은?