1 of 12

1

선택형

문제를 작게 분해할수록 문제 해결이 쉬워지며, 모델링은 사람 또는 컴퓨팅 시스템이 이해하기 쉬운 형태로 데이터를 재구성하는 과정

2 of 12

2

3 of 12

3

word는 문자열 “안녕하세요\n”을 의미한다.

\n은 줄 바꿈(newline)을 나타낸다.

word * tm은 문자열 “안녕하세요\n”을 tm(3)번 반복한다.

4 of 12

4

ㄴ. 인접한 요소를 비교하며 정렬하는 알고리즘은 버블 정렬이다.

ㄷ. 퀵 정렬은 최악의 경우(데이터가 이미 정렬되어 있거나 피벗 선택이 나쁜 경우) 삽입 정렬보다 성능이 낮아질 수 있다.

5 of 12

5

ㄱ. 순차 탐색은 데이터가 정렬되지 않은 상태에서도 사용할 수 있다.

ㄹ. 이분 탐색은 탐색 대상의 범위를 반복적으로 절반으로 나누기 때문에 최악의 경우 탐색 횟수는 log₂N회이다.

6 of 12

6

:

7 of 12

7

생성자는 객체가 생성될 때 자동으로 호출되는 함수이지만, 생성자를 정의하지 않아도 기본 생성자가 자동으로 제공된다

8 of 12

8

서답형

선택 정렬

순차 탐색

B가 말한 ‘맨 앞부터 순서대로 자리에 들어갈 과목을 찾아서 넣는 방법’은 선택 정렬 방식이다.

A가 말한 ‘왼쪽부터 순서대로 찾을 것 같다’는 순차 탐색의 개념을 반영한 것이다.

9 of 12

9

range(1, num+1)

num%i==0

i

㉠ 1부터 num까지 모든 숫자를 확인하는 범위를 지정한다.

㉡ 나머지가 0인지 확인하는 조건식이다.

㉢ 약수인 i를 출력한다.

10 of 12

10

17

입력된 숫자 범위에서 2부터 num-1까지 모든 정수를 대상으로 합계를 계산하며, 합계에 포함된 숫자가 소수가 아닌 경우(약수가 존재하는 경우) 해당 숫자를 제거한다. 최종적으로 10을 입력했을 경우 소수인 2+3+5+7의 합계인 17이 출력된다.

11 of 12

11

서술형

self.studentNum += 1

self.studentNum -= 1

self.captain = num

return self.captain

12 of 12

12

중간값과 찾고자 하는 값을 비교하는 과정이 잘못되었으며, e = mid-1과 s = mid+1의 위치를 서로 바꿔야 한다.