학습자료 알고리즘과 프로그래밍 · 01

알고리즘이란?

알고리즘은 명령을 정확한 순서로 늘어놓은 거예요 — 누가(컴퓨터든 로봇이든) 따라 해도 같은 결과가 나오도록. 아래에서 직접 명령을 쌓아 로봇을 움직여 볼까요?

로봇 길찾기 — 명령을 순서대로 쌓아 봐요

방향 버튼으로 명령을 순서대로 쌓고, '실행'을 눌러 로봇을 ⭐까지 데려가 보세요.

내가 쌓은 명령 (칩을 누르면 지워져요)

내가 쌓은 명령의 순서대로 로봇이 움직여요. 이렇게 명령을 정확한 순서로 늘어놓은 것이 바로 알고리즘이에요.

이 로봇 길찾기를 더 여러 단계로 즐기고 싶다면 코딩 로봇에서 순차 · 반복 · 조건 · 함수까지 이어서 만나 봐요.


모호 vs 정확 — 어느 쪽이 별에 닿을까?

같은 로봇, 같은 별. 그런데 지시 방법이 달라요. 두 쪽을 모두 실행해 어느 쪽이 ⭐에 닿는지 봐요.

대충 지시
"별 쪽으로 가"
? ? ?
버튼을 눌러 실행해 봐요.
정확한 지시
↑ ↑ ↑ ↑ → → → →
↑↑↑↑→→→→
버튼을 눌러 실행해 봐요.

컴퓨터·로봇은 '대충'을 못 알아들어요. 그래서 알고리즘은 한 칸씩 정확한 명령이어야 해요.


입력 → 처리 → 출력 — 알고리즘의 공통 모양

거의 모든 알고리즘은 받아서(입력) → 처리하고 → 내놓는(출력) 모양이에요. 칩을 바꿔 눌러 봐요.

입력
면·물·스프
처리
레시피 순서대로 끓이기
출력
완성된 라면

문제가 라면이든 숫자든 달라도, 입력 → 처리 → 출력 틀은 똑같아요.


세 블록 맛보기 — 카드를 눌러 뒤집어 봐요

모든 알고리즘은 딱 세 블록의 조합으로 만들어져요. 카드를 눌러 어떤 블록인지 살짝 들여다봐요.

레고 세 종류로 온갖 모양을 만들 듯, 이 세 블록이면 어떤 알고리즘이든 만들 수 있어요. 01은 맛보기예요 — 세 블록을 카드로 살짝 맛만 봤어요.
한 걸음 더 — 좋은 알고리즘의 기준, 요건, 세 블록의 정식 이름

본문만으로 챕터는 완결돼요.

아래는 한 걸음 더 들어가고 싶은 친구를 위한 보너스예요.

1. 좋은 알고리즘의 두 기준 — 정확성과 효율

같은 별에 닿는 길은 여러 개예요(로봇 길찾기에서 봤듯이).

그럼 어느 게 더 좋을까요?

  • 정확성 — 정말 별에 닿는가(맞는 답을 내는가). 엉뚱한 곳에 빨리 도착하는 건 소용없어요.
  • 효율더 적은 명령으로 닿는가. 8칸 돌아가는 길보다 8칸 직진이 더 좋은(효율적인) 알고리즘이에요. "일이 얼마나 적게 드는가"를 따지는 게 효율이에요.

2. 무언가가 '알고리즘'이 되려면 — 유한성과 명확성

  • 유한성(finiteness) — 명령이 언젠가는 끝나야 해요. 영원히 돌기만 하면(끝나지 않는 반복) 알고리즘이 아니에요.
  • 명확성(definiteness) — 각 명령이 딱 한 가지 뜻이어야 해요. 앞에서 본 "대충"처럼 해석이 갈리면 알고리즘에 쓸 수 없어요.

3. 세 블록의 정식 이름 (학술어)

본문에서 쉬운 말로 부른 세 블록을 컴퓨터 과학에서는 이렇게 불러요.

  • 차례대로 = 순차 (sequencing)
  • 갈림길 = 조건 / 선택 (selection · conditional)
  • 되풀이 = 반복 (iteration · loop)

그리고 이 세 블록이 전부라는 건 유명한 약속이에요.

"Every algorithm can be constructed using combinations of sequencing, selection, and iteration." = 모든 알고리즘은 순차·선택·반복의 조합으로 만들 수 있다. (College Board, AP CS Principles — AAP-2.A.4)

자가진단

외운 사실이 아니라 개념을 적용하는 문제예요. 답을 고르면 바로 정답·오답과 해설을 알려줘요. 틀려도 괜찮아요 — ↺ 다시로 얼마든지 다시 풀 수 있어요.

Q1 · 개념 구분다음 중 '알고리즘'이라고 부르기에 가장 알맞은 것은 무엇일까요?
Q2 · 순서 맞히기로봇이 왼쪽 아래, 별이 오른쪽 위에 있어요(3×3 격자). 뒤섞인 방향 카드를 로봇이 별에 닿는 순서로 눌러 담아 보세요.

힌트: 별은 쪽 그리고 오른쪽에 있어요. 순서가 달라도 별에만 닿으면 정답이에요.

뒤섞인 카드
내가 만든 순서
Q3 · 디버깅로봇을 별까지 보내려던 명령이에요(로봇=왼쪽 아래, 별=오른쪽 위). 그런데 딱 한 칸이 틀려서 로봇이 벽에 부딪혀요. 틀린 명령 하나를 찾아 눌러 보세요.

위로 둘, 오른쪽으로 둘이면 되는데… 어딘가 거꾸로 간 칸이 있어요.

  • 1 위로
  • 2 위로
  • 3 아래로
  • 4 오른쪽
  • 5 오른쪽
Q4 · 짝짓기세 블록과 그 한 줄 예를 바르게 짝지어 보세요. (앞에서 뒤집어 본 카드예요.)
차례대로 (순차)
되풀이 (반복)
갈림길 (조건)

핵심 정리

알고리즘 = 명령의 정확한 순서
이 세 개로 다 만들어요
차례대로
(순차)
되풀이
(반복)
갈림길
(조건)
  • 알고리즘은 누가 따라 해도 같은 결과가 나오는 정확한 명령의 순서예요.
  • 거의 모든 알고리즘은 입력 → 처리 → 출력 모양이에요.
  • 그리고 그 속은 세 블록(순차·반복·조건)의 조합이에요.