computer_science/algorithm 4

[알고리즘] 04. 선택구조

순차구조만으로는 "조건에 따라 다르게" 행동할 수 없다. 합격/불합격을 가르거나, 짝수/홀수를 판별하려면 갈림길이 필요하다. 이 갈림길이 선택구조다. 수업에서 Raptor로 푼 예제들을 단순 분기 → 중첩 분기 → 다중 분기 순으로 정리했다.1. 선택구조란?선택구조의 세 요소참·거짓을 가르는 조건식조건이 참(Yes)일 때 실행할 명령 블록조건이 거짓(No)일 때 실행할 명령 블록 Raptor에서는 마름모에 조건식을 쓰고, 참이면 왼쪽(Yes), 거짓이면 오른쪽(No) 경로로 분기한다. 짝수/홀수 판별을 순서도로 그리면 이렇다. 조건식에 쓰는 연산자는 두 종류다.종류연산자예관계= !=(/=) > >=3 → Yes논리and or xor not(3 → Yes 여러 조건을 조합할 땐 관계 연산자가 먼저 ..

[알고리즘] 03. 순차구조

알고리즘의 세 기본 구조 중 가장 단순한 것이 순차구조다. 명령을 위에서 아래로 차례대로 실행하는, 가장 자연스러운 흐름이다. 단순하지만 모든 프로그램의 뼈대이며, "입력 → 처리 → 출력"이라는 기본 골격을 익히는 출발점이다. 수업에서 Raptor로 직접 그려 돌려본 예제들을 함께 정리했다.1. 순차구조란?순차구조명령어들이 주어진 순서대로 실행되어, 한 방향으로만 진행되는 가장 기본적인 제어구조다. 분기도 반복도 없이 위에서 아래로 흐른다.작성의 기본 절차는 입력 → 처리 → 출력 세 단계다. GET(입력): 값을 변수에 입력받는다.처리(대입문 ←): 입력받은 값으로 계산한다.PUT(출력): 결과를 출력한다. 이때 세 단계를 또박또박 분리해 쓰는 게 좋은 습관이다. 한 줄에 입력·계산·출력을 욱여넣으면..

[알고리즘] 02. 순서도와 Raptor 기초

알고리즘을 코드로 짜기 전에, 처리 흐름을 그림으로 그려보면 논리가 한결 명확해진다. 그 그림이 순서도(Flowchart)다. 오늘은 순서도 기호와, 순서도를 직접 실행해볼 수 있는 도구 Raptor의 동작 규칙을 정리했다.1. 순서도란?순서도(Flowchart)일의 처리 과정을 순서대로 기호와 도형으로 도식화한 것이다. Raptor는 이 순서도를 그려서 바로 실행해볼 수 있는 교육용 프로그래밍 도구다. 기호의미타원시작(Start) / 종료(End)평행사변형입력(INPUT) / 출력(OUTPUT)직사각형처리·대입(assignment)마름모판단(조건/선택) 이 기호들의 조합으로, 알고리즘의 세 기본 구조인 순차·선택·반복을 모두 표현할 수 있다.순차구조: 명령을 주어진 순서대로 실행선택구조: 조건에 따라 ..

[알고리즘] 01. 알고리즘 개요와 복잡도

같은 문제를 푸는 방법은 여러 가지고, 그중에는 빠른 것도 느린 것도 있다. 알고리즘은 "문제를 푸는 절차"를 다루고, 그 절차가 얼마나 효율적인지를 따지는 게 복잡도다. 오늘은 알고리즘이 갖춰야 할 조건부터 성능을 재는 빅오 표기법까지, 알고리즘 공부의 토대를 잡았다.1. 알고리즘의 정의와 요건알고리즘(Algorithm)어떤 문제를 해결하기 위한 일련의 순서(명령어의 나열)다. 가장 오래된 알고리즘으로는 기원전 300년경 유클리드의 최대공약수 알고리즘이 꼽힌다. 알고리즘이라 부르려면 다음 다섯 조건을 갖춰야 한다.요건설명입력(Input)0개 이상의 외부 입력출력(Output)1개 이상의 출력정확성주어진 입력에 대해 올바른 해를 냄유한성일정 시간 안에 반드시 종료수행성모든 명령이 실제로 실행 가능 입력은..