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

배열의 인덱스는 1부터 시작하며, +는 문자열을 연결한다. 다음 프로그램을 실행한 후의 r의 값은?

string array: s ← {"S", "T", "O", "P"}
string: r ← ""
for (i from 1 to length(s) step 1)
  r ← s[i] + r
endfor
  1. APOTS
  2. BPOT
  3. CSTOP
정답과 해설 보기

정답: A. POTS

r ← s[i] + r은 새 문자를 r의 앞(왼쪽)에 덧붙입니다. r은 "S", "TS", "OTS", "POTS"로 바뀌므로 문자의 순서가 역순이 됩니다. r ← r + s[i]라고 쓰면 끝에 덧붙이게 되어 원래와 같은 "STOP"이 됩니다.

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

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

  1. 다음 함수 isPal은 문자열형 배열 s의 문자 순서가 앞에서 읽어도 뒤에서 읽어도 같으면(회문) true를 반환한다. 배열의 인덱스는 1부터 시작한다. 프로그램 중의 【a】에 들어갈 것은?
  2. ÷는 나눗셈이며, 정수형 변수(인수 포함)에 대입할 때는 소수점 이하를 버린다. 다음 함수 f를 f(9087)로 호출했을 때의 반환값은?
  3. ÷는 나눗셈이며, 정수형 변수(인수 포함)에 대입할 때는 소수점 이하를 버린다. 다음 함수 toBin을 toBin(12)로 호출했을 때의 반환값은?
  4. 두 정수 a, b를 뺄셈으로 같게 만들어 가는 다음 프로그램을 실행한 후의 k의 값은?
  5. 다음 함수 isLeap은 서기 y년이 윤년이면 true를 반환한다. and는 or보다 먼저 계산한다. isLeap(y)가 true를 반환하는 y는?