정보처리기사 필기 · 소프트웨어 개발 과목
정보처리기사 자료구조와 알고리즘 핵심정리
- 중요도
- ★★★★★ (5 / 5)
- 출제 비중
- 소프트웨어 개발 20문항 중 약 8문항 (40%)
스택·큐·트리 같은 자료구조, 트리 순회, 정렬과 검색 알고리즘을 다룹니다.
자료구조와 알고리즘, 이것만은 꼭 외우세요
- 스택은 나중에 넣은 것이 먼저 나오고(LIFO), 큐는 먼저 넣은 것이 먼저 나옵니다(FIFO).
- 트리 순회: 전위(뿌리 → 왼쪽 → 오른쪽), 중위(왼쪽 → 뿌리 → 오른쪽), 후위(왼쪽 → 오른쪽 → 뿌리).
- 버블·선택·삽입 정렬은 평균 O(n²), 퀵·병합·힙 정렬은 평균 O(n log n)입니다.
- 이진 검색은 정렬된 자료에서만 쓸 수 있고 시간 복잡도는 O(log n)입니다.
자료구조와 알고리즘 대표 문제 5개
AI 예상문제검수 전소프트웨어 개발 › 자료구조와 알고리즘★★★★★
문제 1. 스택(Stack)에 대한 설명으로 옳은 것은?
- ① 먼저 넣은 자료가 먼저 나오는 선입선출(FIFO) 구조이다.
- ② 나중에 넣은 자료가 먼저 나오는 후입선출(LIFO) 구조이다.
- ③ 양쪽 끝에서 모두 넣고 뺄 수 있다.
- ④ 운영체제의 작업 스케줄링에 주로 쓰인다.
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ② 나중에 넣은 자료가 먼저 나오는 후입선출(LIFO) 구조이다.
핵심: 스택은 LIFO(후입선출), 큐는 FIFO(선입선출)
스택은 접시를 쌓는 것과 같아서 맨 위(나중에 올린 것)부터 꺼냅니다. 함수 호출, 되돌리기(Undo), 괄호 검사에 쓰입니다.
틀린 선지
- ① 먼저 넣은 자료가 먼저 나오는 선입선출(FIFO) 구조이다.: 큐의 설명입니다.
- ③ 양쪽 끝에서 모두 넣고 뺄 수 있다.: 데크(Deque)의 설명입니다.
- ④ 운영체제의 작업 스케줄링에 주로 쓰인다.: 큐의 쓰임새입니다.
AI 예상문제검수 전소프트웨어 개발 › 자료구조와 알고리즘★★★★★
문제 2. 뿌리(루트)가 A 이고, A 의 왼쪽 자식이 B, 오른쪽 자식이 C 이며, B 의 왼쪽 자식이 D, 오른쪽 자식이 E 인 이진 트리를 전위(Preorder) 순회한 결과는?
- ① A B D E C
- ② D B E A C
- ③ D E B C A
- ④ A B C D E
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ① A B D E C
핵심: 전위 순회: 뿌리 → 왼쪽 → 오른쪽
- 뿌리 A 를 방문
- 왼쪽 서브트리(B)로: B 방문 → B 의 왼쪽 D → B 의 오른쪽 E
- 오른쪽 서브트리 C 방문
- 결과: A B D E C
틀린 선지
- ② D B E A C: 중위 순회(왼쪽 → 뿌리 → 오른쪽)의 결과입니다.
- ③ D E B C A: 후위 순회(왼쪽 → 오른쪽 → 뿌리)의 결과입니다.
- ④ A B C D E: 위에서부터 한 층씩 읽은 레벨 순회의 결과입니다.
AI 예상문제검수 전소프트웨어 개발 › 자료구조와 알고리즘★★★★★
문제 3. 자료 [5, 3, 8, 1] 을 버블 정렬로 오름차순 정렬할 때, 1회전(Pass 1)이 끝난 뒤의 결과는?
- ① [3, 5, 8, 1]
- ② [1, 3, 5, 8]
- ③ [3, 5, 1, 8]
- ④ [1, 5, 3, 8]
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ③ [3, 5, 1, 8]
핵심: 버블 정렬: 이웃한 두 값을 비교해 큰 값을 뒤로 보낸다
이웃한 두 값을 앞에서부터 차례로 비교합니다.
- 5 와 3 비교 → 바꿈 → [3, 5, 8, 1]
- 5 와 8 비교 → 그대로 → [3, 5, 8, 1]
- 8 과 1 비교 → 바꿈 → [3, 5, 1, 8]
1회전이 끝나면 가장 큰 값(8)이 맨 뒤에 놓입니다.
틀린 선지
- ① [3, 5, 8, 1]: 첫 번째 비교만 한 결과입니다.
- ② [1, 3, 5, 8]: 정렬이 모두 끝난 결과입니다.
- ④ [1, 5, 3, 8]: 선택 정렬 1회전의 결과입니다.
AI 예상문제검수 전소프트웨어 개발 › 자료구조와 알고리즘★★★★★
문제 4. 정렬 알고리즘의 평균 시간 복잡도가 O(n log n)이 아닌 것은?
- ① 퀵 정렬
- ② 병합(합병) 정렬
- ③ 힙 정렬
- ④ 삽입 정렬
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ④ 삽입 정렬
핵심: 삽입·선택·버블 정렬은 O(n²), 퀵·병합·힙 정렬은 O(n log n)
삽입 정렬은 평균 O(n²)입니다. 자료가 이미 거의 정렬되어 있을 때만 O(n)으로 빨라집니다.
틀린 선지
- ① 퀵 정렬: 평균 O(n log n)입니다. 다만 최악의 경우에는 O(n²)입니다.
- ② 병합(합병) 정렬: 언제나 O(n log n)입니다.
- ③ 힙 정렬: 언제나 O(n log n)입니다.
AI 예상문제검수 전소프트웨어 개발 › 자료구조와 알고리즘★★★★★
문제 5. 후위 표기식 3 4 + 5 * 를 계산한 결과는?
- ① 17
- ② 23
- ③ 35
- ④ 60
▼ 정답과 해설 보기▲ 정답과 해설 접기
정답: ③ 35
핵심: 후위 표기식은 스택으로 계산한다: 숫자는 넣고, 연산자가 나오면 두 개를 꺼내 계산
- 3 을 넣음 → [3]
- 4 를 넣음 → [3, 4]
- + 를 만남 → 3 + 4 = 7 → [7]
- 5 를 넣음 → [7, 5]
- * 를 만남 → 7 × 5 = 35
일반 식으로 바꾸면 (3 + 4) × 5 입니다.
틀린 선지
- ① 17: 3 × 4 + 5 로 계산한 값입니다.
- ② 23: 3 + 4 × 5 로 계산한 값입니다.
- ④ 60: 세 수를 모두 곱한 값입니다.
직접 풀어서 확인해 보세요.