1
선택형
문제를 작게 분해할수록 문제 해결이 쉬워지며, 모델링은 사람 또는 컴퓨팅 시스템이 이해하기 쉬운 형태로 데이터를 재구성하는 과정
2
3
word는 문자열 “안녕하세요\n”을 의미한다.
\n은 줄 바꿈(newline)을 나타낸다.
word * tm은 문자열 “안녕하세요\n”을 tm(3)번 반복한다.
4
ㄴ. 인접한 요소를 비교하며 정렬하는 알고리즘은 버블 정렬이다.
ㄷ. 퀵 정렬은 최악의 경우(데이터가 이미 정렬되어 있거나 피벗 선택이 나쁜 경우) 삽입 정렬보다 성능이 낮아질 수 있다.
5
ㄱ. 순차 탐색은 데이터가 정렬되지 않은 상태에서도 사용할 수 있다.
ㄹ. 이분 탐색은 탐색 대상의 범위를 반복적으로 절반으로 나누기 때문에 최악의 경우 탐색 횟수는 log₂N회이다.
6
:
7
생성자는 객체가 생성될 때 자동으로 호출되는 함수이지만, 생성자를 정의하지 않아도 기본 생성자가 자동으로 제공된다
8
서답형
선택 정렬
순차 탐색
B가 말한 ‘맨 앞부터 순서대로 자리에 들어갈 과목을 찾아서 넣는 방법’은 선택 정렬 방식이다.
A가 말한 ‘왼쪽부터 순서대로 찾을 것 같다’는 순차 탐색의 개념을 반영한 것이다.
9
range(1, num+1)
num%i==0
i
㉠ 1부터 num까지 모든 숫자를 확인하는 범위를 지정한다.
㉡ 나머지가 0인지 확인하는 조건식이다.
㉢ 약수인 i를 출력한다.
10
17
입력된 숫자 범위에서 2부터 num-1까지 모든 정수를 대상으로 합계를 계산하며, 합계에 포함된 숫자가 소수가 아닌 경우(약수가 존재하는 경우) 해당 숫자를 제거한다. 최종적으로 10을 입력했을 경우 소수인 2+3+5+7의 합계인 17이 출력된다.
11
서술형
self.studentNum += 1
self.studentNum -= 1
self.captain = num
return self.captain
12
중간값과 찾고자 하는 값을 비교하는 과정이 잘못되었으며, e = mid-1과 s = mid+1의 위치를 서로 바꿔야 한다.