1.
컴퓨터 알고리즘(algorithm)의 특성에 대한 설명으로 옳지 않은 것은?
- ①알고리즘은 1개 이상의 결과(output)를 생성해야 한다.
- ②알고리즘에는 반드시 입력(input)이 1개 이상 존재해야 한다.
- ③알고리즘은 한정된 횟수의 단계 실행 후 반드시 종료해야 한다.
- ④알고리즘의 각 명령은 모호하지 않고 명확해야 한다.
정답 보기
정답 ② · 해설 보기
시행 2023-09-23 · 책형 가 · 25문항 · 출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)
정답 ② · 해설 보기
int fib(n) {
if (n == 0)
return 0;
if (n == 1)
return 1;
return fib(n – 1) + fib(n – 2);
}정답 ② · 해설 보기
정답 ③ · 해설 보기
(가)(나) a → b → c → d → e → f → g → h → i → j → k → l → m
정답 ② · 해설 보기

정답 ① · 해설 보기
정답 ③ · 해설 보기
정답 ③ · 해설 보기
(가) bubble_sort(arr[], arr_size) {
// arr 배열의 인덱스는 0 ~ arr_size-1
for end ← arr_size - 1 to 1
for cur ← 0 to end - 1
if (arr[cur] > arr[cur + 1])
swap(arr[cur], arr[cur + 1]);
}
(나) 6, 2, 3, 4, 0, 5, 1, 9, 8, 7
(다) 2, 3, 0, 4, 5, 1, 6, 8, 7, 9정답 ① · 해설 보기
sort(arr[], n){ // arr 배열의 인덱스는 0 ~ n-1
for i ← 1 to n - 1 {
cur ← arr[i];
j ← i – 1;
while (j ≧ 0) and (arr[j] > cur) {
arr[j + 1] ← arr[j];
j ← j – 1;
}
arr[j + 1] ← cur;
}
}정답 ④ · 해설 보기




정답 ② · 해설 보기
○ 문제의 입력 사례 분할 후, 분할된 문제의 해답을 우선 구한다.○ 문제의 입력 사례를 분할할 때, 재귀 관계식을 사용할 수 있다.○ 분할된 문제의 해답을 저장하여 분할 전 문제의 해답을 구하는 상향식 방법이다.
정답 ④ · 해설 보기
정답 ① · 해설 보기
sum ← 0;
for j ← 1 to n
for i ← 1 to j
sum ← sum + 1;
for k ← 0 to n - 1
sum ← sum + k;정답 ③ · 해설 보기
int power(a, x) {
if (x == 1)
return ㉠;
else if (x == 0)
return 1;
if (x mod 2 == 0) {
temp ← power(a, x / 2);
return ㉡;
} else {
temp ← power(a, (x – 1) / 2);
return ㉢ ;
}
}정답 ④ · 해설 보기
정답 ① · 해설 보기
○○ 은 궁극적으로 감소하지 않는다.○ (이고, 은 3의 거듭제곱이다)
정답 ④ · 해설 보기
정답 ② · 해설 보기
○ 개의 물건은 각기 고유의 무게와 가치를 갖는다.○ 물건은 나눌 수 없으며, 선택한 물건은 통째로 넣는다.○ 배낭 내 물건들의 총 무게는 배낭 용량을 초과할 수 없다.○ 최대의 가치를 갖도록 한정된 용량의 배낭에 물건을 넣는다.
정답 ② · 해설 보기
정답 ① · 해설 보기

정답 ③ · 해설 보기

정답 ④ · 해설 보기
hanoi(n, from, temp, to){
if (n == 1)
move(from, to); // from에서 to로 이동
if (1 < n){
hanoi(n – 1, ㉠);
move(from, to); // from에서 to로 이동
hanoi(n – 1, ㉡);
}
}정답 ② · 해설 보기
정답 ④ · 해설 보기
정답 ① · 해설 보기

정답 ④ · 해설 보기