다음은 정수를 저장할 수 있는 스택을 Java로 구현한 것이다. ㉠과 … | [국회직 9급 컴퓨터일반] 19년 1회차 기출문제 상세 페이지
1[국회직 9급 컴퓨터일반] 19년 1회차
다음은 정수를 저장할 수 있는 스택을 Java로 구현한 것이다. ㉠과 ㉡에 넣을 문장으로 옳은 것은?public class StackInt {
int size, top;
int buf[];
public StackInt(int s) {
buf = new int[s];
size = s;
top = -1;
}
public void push(int x) {
㉠ ;
}
public int pop() {
㉡ ;
}
}
㉠ ㉡
1
buf[++top] = x return buf[--top]
2
buf[top] = x return buf[top]
3
buf[--top] = x return buf[top++]
4
buf[++top] = x return buf[top--]
5
buf[top + 1] = x return buf[top – 1]
해설
㉠은 buf[++top] = x, ㉡은 return buf[top--]가 맞다.
top의 초깃값이 -1이므로 top은 마지막으로 넣은 원소의 위치를 가리킨다. push는 top을 먼저 올린 뒤 저장하고, pop은 값을 반환한 뒤 top을 내려야 한다.
- buf[++top] = x와 return buf[--top]: pop이 top을 먼저 내려 맨 위 원소가 아닌 그 아래 원소를 반환한다.
- buf[top] = x와 return buf[top]: top이 변하지 않고, 첫 push부터 인덱스 -1에 접근한다.
- buf[--top] = x와 return buf[top++]: top을 내리며 저장해 인덱스가 범위를 벗어난다.
- buf[top + 1] = x와 return buf[top – 1]: top이 갱신되지 않아 스택의 위치가 관리되지 않는다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[국회직 9급 컴퓨터일반] 19년 1회차 20문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- 자바에서사용하는접근제어자의종류가아닌것은? {"answer":1,"content":[{"content":"internal","url":""},{"cont20년-4회차-정보처리기사-필기
- java언어에서접근제한자가아닌것은? {"answer":3,"content":[{"content":"public","url":""},{"content":20년-1, 2회차-정보처리기사-필기
- 순서가있는리스트에서데이터의삽입(push),삭제(pop)가한쪽끝에서일어나며lifo(last-in-first-out)의특징을가지는자료구조는? {"answe22년-2회차-정보처리기사-필기