-
[알고리즘/C언어] 도형 알고리즘 / 직각삼각형 채우기 (정보처리기사, 실기)Algorithm 2019. 5. 25. 21:23
직각삼각형 숫자 채우기 (1) 1 0 0 0 0 2 3 0 0 0 4 5 6 0 0 7 8 9 10 0 11 12 13 14 15 직각삼각형 모양으로 숫자 채워넣는 문제는 먼저 표로 행과 열의 인덱스 번호를 써보면 쉽게 만들 수 있다. i (row) j (column start) j (column end) 1 0 0 0 0 0 0 0 2 3 0 0 0 1 0 1 4 5 6 0 0 2 0 2 7 8 9 10 0 3 0 3 11 12 13 14 15 4 0 4 일단 위 표와 같이 행의 인덱스 번호는 0 1 2 3 4 이다. 숫자가 써지는 영역의 시작 인덱스는 0으로 고정이고 끝 인덱스는 행의 인덱스 번호와 동일하게 0 1 2 3 4 로 1씩 증가한다. 0행일 때, 열 번호가 0번부터 0번일 때까지 숫자가 써..
-
[알고리즘/C언어] 도형 알고리즘 / 사각형 ㄹ자 채우기 (정보처리기사, 실기)Algorithm 2019. 5. 24. 21:42
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 지난번에 배열을 정리하면서 사각형 모양으로 숫자를 출력하는 코드를 정리했었다. (단 주의해야할 것은 아래 코드는 0행 0열이 아닌 1행 1열부터 숫자를 채운 코드이다.) #include #define NUM 5 int main() { int row, col, i, j, k = 0; int arr1[NUM + 1][NUM + 1] = { 0 }; //사각형 도형 채우기 printf("-----------------------\n"); for (row = 1; row
-
[C언어/Day3] C언어 수업정리 - 배열 기초 (정보처리기사, 실기)Backend 2019. 5. 22. 22:00
좁은 서울 땅 덩어리에 미국처럼 단독주택만 짓는다면 어떨지 상상해보자. 집 짓는 데 시간도 오래 걸리고 효율도 매우 떨어질 것이다. 그런데 여러 명을 한 번에 수용할 수 있는 아파트를 지어서 방 한 칸에 1가구 씩 배정한다면 훨씬 효과적으로 주택 공급을 할 수 있을 것이다. 만약에 배열이 없었다면 어떤 데이터 100개를 처리할 때 100개의 변수를 만들고, 그 변수에 100개의 데이터를 각각 할당하여 처리를 해야만 했을 것이다. 얘기만 들어도 비효율적이고 끔찍하다. 그래서 우리는 배열이란 걸 만들어냈는데, 일종의 아파트를 만든 것이다. 그리고 아파트 칸마다 순차적으로 방번호를 부여하고 하나의 데이터를 부여한 것이다. 그리고 우리는 반복문을 사용하여 각각의 방에 든 데이터를 가지고 같은 작업을 여러 번 반..
-
[알고리즘/C언어] 수열의 합 알고리즘(3) / 계차수열의 합 (정보처리기사, 실기)Algorithm 2019. 5. 20. 13:27
1. Sum= 2 + 3 + 5 + 8 + 12 + ... +(NUM항)의 합 #include #define NUM 10 int main() { int cnt, sum = 2, i = 2 , j = 0; for (cnt = 1; cnt < NUM; cnt++) { j = j + 1; i = i + j; sum = sum + i; printf("cnt=%2d, j=%2d, i=%3d, sum=%5d\n", cnt, j, i, sum); } printf("----------반복문 종료-------------\n"); printf("cnt=%2d, j=%2d, i=%3d, sum=%5d\n", cnt, j, i, sum); system("pause"); return 0; } 위 수열은 1씩 증가하는 숫자를 더..
-
[알고리즘/C언어] 수열의 합 알고리즘(2) / for문, while문, do-while문, goto문 (정보처리기사, 실기)Algorithm 2019. 5. 19. 22:50
지난 번 포스팅 때 다루지 않았던 while문이나 do-while문, goto문을 이용한 기초적인 수열의 합 알고리즘을 정리해보려고 한다. 1. Sum = 1+2+3+4+...+NUM(10)까지의 합 [for문] #include #define NUM 10 int main() { int cnt, sum = 0, i = 0; for (cnt = 1; cnt 1을 만족하므로 다음 연산을 수행하러 AA문으로 가면 다시 cnt--;을 진행하여 9가 된다. 계속 반복하다가 마지막에 값이 2가 됐을 때, 조건이 참이므로 다시 AA로 가서 cnt--; 연산을 하므로 값이 1이 된다. 바로 이 때가 10번째 연산을 진행했을 때다. 이미 10번의 연산이 모두 끝났으므로 조건은 거짓이 되어야 한다. 그러므로 cnt는 1보다..
-
[알고리즘/C언어] 수열의 합 알고리즘 (정보처리기사, 실기)Algorithm 2019. 5. 13. 14:29
정보처리기사 실기 시험에서 다뤄질만한 기초적인 알고리즘을 이 카테고리에서 쭉 정리해보려고 한다. 1. 동일한 숫자 N번 더하기 Sum = 7 + 7 + 7 + ... + NUM (NUM-10항까지의 합) #include #define NUM 10// 기호형 상수 : 상수 -> 반드시 대문자로 표현한다. int main() { int sum = 0, cnt; for (cnt = 1; cnt = 1; cnt--) { // cnt = NUM, 1, -1 sum = sum + 7; printf("cnt=%d, sum=%d\n", cnt, sum); } printf("----------반복문 종료-------------\n"); printf("cnt=%d, sum=%d\n", cnt, sum); system("p..
-
[C언어/Day2] C언어 수업정리 (정보처리기사, 실기) / 자바스크립트와 산술연산 결과가 다르게 나오는 이유Backend 2019. 5. 13. 12:11
1. 산술연산자 / 증감연산자 #include int main() { int num5 = 3, num6 = 3, num7 = 3, num8 = 3; num5++; // ++num5; num5=num5+1; num5+=1; printf("num5= %d \n", num5); ++num6; // num6++; num6=num6+1; num6+=1; printf("num6= %d \n", num6); num7--; // --num7; num7=num7-1; num7-=1; printf("num7= %d \n", num7); --num8; // num8--; num8=num8-1; num8-=1; printf("num8= %d \n", num8); system("pause"); return 0; } 자바스크립트..