정보처리기사 필기

시험 직전 요약장

판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.

이론 목록

스택·큐·데크와 표기식 계산

원래 이론 →

판단 기준

작업일반적인 시간 복잡도전제
스택 push·pop·peekO(1)top을 직접 관리
큐 enqueue·dequeueO(1)front·rear를 직접 관리
데크의 양끝 삽입·삭제O(1)원형 배열 또는 적절한 연결 구조 사용
중위→후위 변환O(n)각 토큰을 상수 횟수 처리
전위·후위식 계산O(n)각 토큰을 한 번 순회

스택·큐·데크에서 특정 값을 찾는 작업은 일반적으로 O(n)이다. 끝 연산이 O(1)이라는 사실과 임의 검색도 O(1)이라는 주장은 다르다.

이 부분의 원문 →

헷갈리는 개념

구조삽입 위치삭제 위치처리 순서
스택toptop후입선출(LIFO)
일반 큐rearfront선입선출(FIFO)
데크front 또는 rearfront 또는 rear허용한 연산 조합에 따라 달라짐
이 부분의 원문 →

대표 계산·예제

후위식은 왼쪽에서 오른쪽으로 읽으며 피연산자를 스택에 넣는다. 이항 연산자를 만나면 두 값을 꺼내 계산 결과를 다시 넣는다.

  1. right = pop() — 오른쪽 피연산자
  2. left = pop() — 왼쪽 피연산자
  3. push(left 연산자 right)

뺄셈과 나눗셈은 피연산자 순서를 바꾸면 결과가 달라지므로 특히 주의한다.

후위식 8 2 3 * +의 계산 과정은 다음과 같다.

토큰처리스택 상태
88을 넣음[8]
22를 넣음[8, 2]
33을 넣음[8, 2, 3]
*2 × 3 = 6[8, 6]
+8 + 6 = 14[14]

입력을 모두 처리했을 때 스택에 값이 정확히 하나 남아야 정상적인 식이다. 위 식의 결과는 14다. 예를 들어 8 2 /에서 먼저 꺼낸 2가 오른쪽 피연산자이므로 계산은 8 / 2다.

후위식은 이항 연산 직전에 스택 값이 두 개 이상 필요하다. 입력 종료 때 값 하나가 남는 조건만 검사하지 말고 각 연산의 피연산자 부족도 검사한다.

이 부분의 원문 →

내 최근 연습 오답

현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.

학습 기록 →

오답 기록을 확인하고 있습니다.