# 볼링 게임 점수 계산 - 볼링 게임은 총 10프레임으로 구성되고 매 프레임에 최대 2번까지 볼을 던질 수 있다. 첫 번째 던진 공이 10개 핀을 모두 쓰러뜨리면 '스트라이크(strike)'라고 부르고, 공을 2번 던져서 10개 핀을 모두 쓰러뜨리면 '스페어(spare)'라고 한다. [점수 계산 규칙] 1. 스트라이크(strike)를 친 경우는 이후 2회 공을 던져서 넘어진 핀의 수를 더해서 점수를 계산한다 2. 스페어(spare)를 친 경우는 이후 1회 공을 던져 넘어진 핀의 수를 더해서 점수를 계산한다 3. 1번과 2번에 해당되지 않는 경우는 해당 프레임에 넘어진 핀의 수를 더해서 점수를 계산한다 4. 마지막 10프레임에 스트라이크를 친 경우에는 2회의 보너스 드로우를, 스페어를 친 경우에는 1회의..
자료구조 개념 및 구현 Chapter 1. 자료구조 개요 - 연습문제 Q1. 알고리즘이 성립되기 위한 조건은 무엇인가? - 명시적 입력은 없어도 된다 - 하나 이상의 출력이 있어야 한다 - 모호하지 않은 명령문으로 표현되어야 한다 - 유한한 수의 명령어 실행 이후에 종료되어야 한다 Q2. 알고리즘과 일반 프로그램과의 차이점은 무엇인가? - 프로그램은 개별적 기능을 지칭하고, 알고리즘은 그 프로그램을 처리하는 절차이다 Q3. 소프트웨어 개발 주기를 적고 블랙박스 시험과 화이트박스 시험을 각각 설명하시오 - 소프트웨어 개발 주기: 요구사항 → 분석 → 설계 → 검증 - black box: 입력 값으로부터 발생하는 출력 값을 보고 정확도를 판단 - white box: 프로그램 내부 루틴을 포함하여 오류를 검사..
# 팩토리얼 - 팩토리얼이란? > n이 하나의 자연수일 때, 1에서 n까지의 모든 자연수의 곱을 n에 상대하여 이르는 말 # 반복문으로 팩토리얼 구현하기 [코드] #include void factorial(int n); int main() { factorial(20); } void factorial(int n) { int i, j; int total; for (i = 2; i main 함수에서 GetFactorial(5)를 호출하면 매개 변수 n은 0이 아니므로 else 블록에서 n*GetFactorial(n-1)이 실행됨 > 또 다른 GetFactorial 함수가 실행되고 인자 4가 전달됨 > 이를 그림으로 정리하면 다음과 같음 > n이 0에 도달하면 if 블록이 실행되어 1이 반환되면서 더 이상 함수..