💡 설계/계획 단계
- 문제 해결을 위한 일련의 절차나 방법을 공식화한 형태 또는 계산을 실행하기 위한 단계적 절차
| 특성 | 내용 |
|---|---|
| 입력 | 외부로부터 입력되는 자료가 0개 이상이어야 한다. |
| 출력 | 출력되는 결과가 1개 이상이어야 한다. |
| 명확성 | 각 명령어의 의미가 명확하여야 한다. |
| 유한성 | 정해진 단계를 거친 후 문제를 해결하고 종료되어야 한다. |
| 유효성 | 모든 명령은 실행이 가능한 연산들이어야 한다. |
💡 TIP
- 알고리즘의 표현 종류
- 자연어, 순서도, 의사 코드, 프로그래밍 언어 등
- 프로그래밍 언어가 아니더라도 알고리즘의 표현이 가능하다.
1) 어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법을 공식화한 형태를 무엇이라고 하는지 쓰시오.
알고리즘
2) 다음 보기에서 알고리즘의 5가지 특성으로 올바르지 않은 것을 고르시오.
| 보기 |
|---|
| 유효성 |
| 명확성 |
| 유한성 |
| 무결성 |
무결성

1) 순서도 산술 연산
| 연산자 | 뜻 | 예시 |
|---|---|---|
+ | 더하기 | 8 + 4 |
- | 빼기 | 8 - 4 |
* | 곱하기 | 8 * 4 |
/ | 나누기 | 8 / 4 |
%, mod | 나머지 | 8 % or mod 4 |
^ | 거듭제곱 | 8^4 |
💡 TIP
- 순서도 :
%와mod모두 사용 가능- 프로그래밍 :
%만 사용 가능
2) 순서도 관계 연산
| 연산자 | 뜻 | 예시 |
|---|---|---|
> | 크다(초과) | 8 > 4 |
>= | 크거나 같다(이상) | 8 >= 4 |
< | 작다(미만) | 4 < 8 |
<= | 작거나 같다(이하) | 4 <= 8 |
= | 같다 | 8 = 8 |
<>, ≠, != | 같지 않다(다르다) | 8 <>, ≠, != 4 |
1) 변수와 상수
💡 TIP
- 순서도 안에서 데이터들은 특정한 규칙을 가지고 연산을 하게 된다.
💡 예시
a = 10
- 변수
a에 정수10을 대입하라.- 여기서
=는 같다는 뜻이 아닌 대입하라는 뜻.
2) 수의 증감
2-1) 수(
i)의 초기값이 설정되어 있는 경우
i = i + 1i = i - 1
💡 예시
i = 0→i = i + 1... ✅i→i = i + 1........... ❌
2-2) 수(
k)의 초기값이 설정되어 있지 않은 경우
i = 고정값 - 변수i의 초기값이 없는 것은0값이 아닌NULL Value(값없음)을 의미한다.
💡 예시
i = 0, k→i = i + 1→k = 10 - i
i = 1k = 9
3) 합의 공식
합계 = 합계 + 수- 합계의 초기값은 기본적으로 0으로 초기화하며 합계변수에 증감변수를 이용하여 누적한다.
💡 예시
sum = 0→sum = sum + i
i = 1k = 9
4) 평균 공식
평균(avg) = 합계(sum) / 개수(cnt)
💡 예제) 다음은 1부터 10까지의 합과 평균을 구하는 알고리즘이다. 빈칸에 들어갈 알맞은 말을 쓰시오.
⓵0
⓶i = i + 1
⓷sum = sum + i
⓸10
⓹ior10
5) 부호 변경
- 부호의 변경은 판단 기호를 이용하여 계산하거나
부호 = 부호 * (-1)을 이용하여 연산한다.
💡 예제)
1 - 2 + 3 - 4 + 5 - 6 + 7 - 8 + 9을 연산하는 알고리즘의 두가지 방법이다. 빈칸에 알맞은 말을 쓰시오.
⓵s * i
⓶s * (-1)
6) 몫과 나머지
- 몫
값 / 수로 표현한다.- 결과값을 정수형으로 표현한다. →
int4 / 2 = 2,5 / 2 = 2- 나머지
값 % 수또는값 mod 수로 표현한다.7 % 3 = 1,5 mod 2 = 1
💡 예제) 입력된 수
N의 짝수와 홀수를 출력하는 알고리즘이다. 빈칸에 들어갈 알맞은 말을 쓰시오.
⓵N % 2 = 0orN mod 2 = 0
7) 배열
- 번호에 대응하는 데이터들로 이루어진 자료 구조를 말한다.
- 변수를 연속적으로 저장하기 위해 확보한 메모리 공간을 의미한다.
a[5] = a[0], a[1], a[2], a[3], a[4]의 주소로 이루어진다.- 프로그래밍의 배열에서의 주소값은
0부터 시작이 고정이다.- 순서도에서는
0또는1로 시작이 가능하다.
💡 예제) 저장되어 있는 배열 A의 7개 정수 중, 최대값과 최소값을 구하는 알고리즘이다. 빈칸에 들어갈 알맞은 말을 쓰시오. (배열의 시작 주소값 =
1)
A[7] = { 55, 66, 77, 11, 22, 44, 99 }최대값 = MAX최소값 = MIN수열 = I
⓵I = I + 1
⓶A[I]
⓷MIN > A[I]
⓸7
1) 정수 N을 입력 받아 3의 배수이면서 5의 배수인 수를 출력하는 알고리즘을 완성하시오.

⓵ N % 3
⓶ A + B
2) 배열 A에 있는 모든 정수의 합과 평균을 구하는 알고리즘을 완성하시오.
A[6] = {7, 22, 4, 19, 11, 12}합 : SUM평균 : AVG수열 : I
⓵ 6
⓶ SUM / I or SUM / 6