1. 프로그래밍 언어 활용 : 알고리즘 구현

강재훈·2026년 2월 3일

📍 Chapter 1 : 알고리즘 구현


🍀 Section 1 | 알고리즘

1. 알고리즘의 개념

  • 넓은 의미 : 자료구조와 함께 프로그램을 구성하는 요소
  • 좁은 의미 : 어떤 문제에 대한 답을 찾는 해법
  • 프로그램 작성 과정 중 설계/계획 단계에 포함

💡 설계/계획 단계

  • 문제 해결을 위한 일련의 절차나 방법을 공식화한 형태 또는 계산을 실행하기 위한 단계적 절차

2. 알고리즘의 5가지 특성

  • 알고리즘은 기본적인 명령어를 통해서도 작성 가능하다.
  • 아래와 같은 5가지 특성을 만족하여야한다.
특성내용
입력외부로부터 입력되는 자료가 0개 이상이어야 한다.
출력출력되는 결과가 1개 이상이어야 한다.
명확성각 명령어의 의미가 명확하여야 한다.
유한성정해진 단계를 거친 후 문제를 해결하고 종료되어야 한다.
유효성모든 명령은 실행이 가능한 연산들이어야 한다.

💡 TIP

  • 알고리즘의 표현 종류
    • 자연어, 순서도, 의사 코드, 프로그래밍 언어 등
  • 프로그래밍 언어가 아니더라도 알고리즘의 표현이 가능하다.

🚀 예상 문제

1) 어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법을 공식화한 형태를 무엇이라고 하는지 쓰시오.

알고리즘

2) 다음 보기에서 알고리즘의 5가지 특성으로 올바르지 않은 것을 고르시오.

보기
유효성
명확성
유한성
무결성

무결성


🍀 Section 2 | 순서도

1. 순서도

  • 알고리즘을 표현하는 여러 방식 중 하나이다.
  • 미리 약속된 기호와 그림을 통해 논리적 절차, 흐름, 연산 등시각적으로 표현한 것을 말한다.

2. 순서도 도형

3. 순서도 연산

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

4. 순서도의 기초 공식

1) 변수와 상수

  • 변수 : 고정되어 있지 않은 값 또는 어떤 값을 주기억장치에 기억하기 위해서 사용하는 공간이다.
  • 상수 : 고정되어 있는 값 또는 이미 지정되어 있는 변하지 않는 값이다.

💡 TIP

  • 순서도 안에서 데이터들은 특정한 규칙을 가지고 연산을 하게 된다.

💡 예시 a = 10

  • 변수 a에 정수 10대입하라.
  • 여기서 =는 같다는 뜻이 아닌 대입하라는 뜻.

2) 수의 증감

2-1) 수(i)의 초기값이 설정되어 있는 경우

  • i = i + 1
  • i = i - 1

💡 예시

  • i = 0i = i + 1 ... ✅
  • ii = i + 1 ........... ❌

2-2) 수(k)의 초기값이 설정되어 있지 않은 경우

  • i = 고정값 - 변수
  • i의 초기값이 없는 것은 0 값이 아닌 NULL Value(값없음)을 의미한다.

💡 예시

  • i = 0, ki = i + 1k = 10 - i
    • i = 1
    • k = 9

3) 합의 공식

  • 합계 = 합계 + 수
  • 합계의 초기값은 기본적으로 0으로 초기화하며 합계변수에 증감변수를 이용하여 누적한다.

💡 예시

  • sum = 0sum = sum + i
    • i = 1
    • k = 9

4) 평균 공식

  • 평균(avg) = 합계(sum) / 개수(cnt)

💡 예제) 다음은 1부터 10까지의 합과 평균을 구하는 알고리즘이다. 빈칸에 들어갈 알맞은 말을 쓰시오.

0
i = i + 1
sum = sum + i
10
i or 10

5) 부호 변경

  • 부호의 변경은 판단 기호를 이용하여 계산하거나부호 = 부호 * (-1)을 이용하여 연산한다.

💡 예제) 1 - 2 + 3 - 4 + 5 - 6 + 7 - 8 + 9을 연산하는 알고리즘의 두가지 방법이다. 빈칸에 알맞은 말을 쓰시오.

s * i
s * (-1)

6) 몫과 나머지

    • 값 / 수 로 표현한다.
    • 결과값을 정수형으로 표현한다. → int
    • 4 / 2 = 2, 5 / 2 = 2
  • 나머지
    • 값 % 수 또는 값 mod 수 로 표현한다.
    • 7 % 3 = 1, 5 mod 2 = 1

💡 예제) 입력된 수 N의 짝수와 홀수를 출력하는 알고리즘이다. 빈칸에 들어갈 알맞은 말을 쓰시오.

N % 2 = 0 or N 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

profile
꿈을 향해 끊임없이 성장하기

0개의 댓글