[문제] 문제 : 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2)는 fibonacci(1) (두 번째 호출)과 fibonacci(0)을 호출한다. 두 번째 호출한 fibonacci(1)은 1을 출력하고 1을 리턴한다. fibonac..
[문제] 문제 : 자연수 A를 B번 곱한 수를 알고 싶다. 단 구하려는 수가 매우 커질 수 있으므로 이를 C로 나눈 나머지를 구하는 프로그램을 작성하시오. 입력 : 첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 모두 2,147,483,647 이하의 자연수이다. 출력 : 첫째 줄에 A를 B번 곱한 수를 C로 나눈 나머지를 출력한다. [코드 풀이] [실패한 코딩] 첫 번 째 시도. 더보기 분할 정복을 사용하지 않고 for문을 이용해서 시도하였다. 계속 제출할 때마다 실패, 시간 초과가 떠서 코드가 점점 복잡해지기 시작했고 포기한 시점에서의 마지막 코드이다. 모든 경우의 수를 다 따져서 조건문을 이용하다 보니 복잡해졌고, 반복문을 이용한 시간복잡도 때문에 시간초과를 해결할..
2회차 목표 : C++로 간단한 알고리즘 문제 풀어보기. -C++ 공부 및 알고리즘 문제 풀어보기. 일정 : 7/14 11:00~14:00(오전 11시~오후 2시) 2회차 공부 내용 : 백준 문제 : 직사각형에서 탈출 백준 문제 : https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net C++을 이용해서 풀어보았다. #include using namespace std; int main() { int x, y, w, h, cx, cy..
1회차 목표 : C언어 포인터 복습 -C언어의 포인터를 복습한다. 일정 : 7/10 16:00~19:00(오후 4시~오후 7시) 1회차 공부 내용 : 포인터는 메모리 주소값을 저장하는 자료형이다. 변수명 앞에 &을 붙이면 메모리 주소를 알려준다. 포인터 타입의 변수명 앞에 *을 붙이면 주소에 담고 있는 값을 알려준다. #include void swapArrays(int **ptr1, int **ptr2) { int *temp = *ptr1; *ptr1 = *ptr2; *ptr2 = temp; } int main() { int arr1[5]; int arr2[5]; int i; for ( i = 0; i < 5; i++) { scanf("%d ",&arr1[i]); } for ( i = 0; i < 5; ..
개인 목표 : C/C++ 공부 - 세부 목표 : 1. C언어 복습, C++ 배우기 2. 알고리즘 숙달. -개인 활동 계획 : 1. C에 대한 기초 문법 및 포인터, 구조체 등을 복습. 2. C++에 대한 공부 -팀 모임 계획표 : 시간 활동 비고 7/10 1회차 7/14 2회차 7/23 3회차 7/26 4회차 7/31 5회차 8/4 6회차 8/7 7회차 혹은 예비 회차 [예비] 모임