-
[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보다..
-
[JS/ES2015] 자바스크립트 ES2015(ES6) 문법 정리(1) - let / constFrontend 2019. 5. 17. 23:14
자바스크립트는 또 다른 말로 ECMA스크립트(ECMAScript, ES)라고도 불린다. ECMA스크립트는 Ecma 인터내셔널의 ECMA-262 기술 규격에 정의된 표준화된 스크립트 프로그래밍 언어이다. (라고 위키피디아에서 알려줬다.) Ecma 인터내셔널이란 곳에서 자바스크립트 공식문서를 만들고 표준화하는 작업을 하는 데, 이 과정은 모두 http://ecma-international.org/ 사이트에 공개되어 있다. 하여튼 이 자바스크립트 언어도 연도별로 버전이 나눠져있는데, 우리가 지금 주로 사용하는 문법은 2015년 이전에 개발된 ES5 버전이다. 그리고 2015년에 ES6 버전이 나왔는데, 기존에 사용하던 문법과 많이 다른 새로운 형태의 문법들이 추가되었다. 예를 들면 화살표 함수라던가 let이나..
-
[알고리즘/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; } 자바스크립트..
-
[알고리즘/자바스크립트] 페이지네이션 헬퍼 (Pagination Helper)Algorithm 2019. 5. 12. 23:22
[문제] 여러분은 PaginationHelper 생성자 함수를 완성해서 Rhaegal의 페이지 세는 작업을 도와주어야 합니다. 이 PaginationHelper는 글자들이 들어있는 배열(collection)과, 한 페이지에 얼마나 많은 글자를 가질 수 있는지 알려주는 숫자(itemsPerPage)을 가질 수 있게 설계되었습니다. 다음의 예를 통해 이 class를 어떻게 사용할 수 있는지 알아봅시다. var helper = new PaginationHelper(['a','b','c','d','e','f'], 4); // PraginationHelper를 사용하기 위해 helper 객체를 생성합니다. // helper instance는 다음과 같이 사용할 수 있습니다. helper.pageCount(); /..
-
[알고리즘/자바스크립트] 꼬리에 붙은 0 (팩토리얼과 Trailing Zero)Algorithm 2019. 5. 12. 20:38
[문제] 주어진 숫자의 팩토리얼을 계산한 값에서, 마지막에 연속되어 붙어있는 0이 몇개인지 반환해주는 함수를 완성해주세요! (팩토리얼을 계산하지 않고 구하기!) 참고로, N 팩토리얼이란 다음과 같은 것을 말합니다. (factorial은 !로 표기합니다. 더 많은 내용은 http://mathworld.wolfram.com/Factorial.html를 참고해주세요) N! = 1 * 2 * 3 * ... * N 예를들어, trailingZeros(6) = 1 왜냐하면, 6! = 1 * 2 * 3 * 4 * 5 * 6 = 720 --> 1 , 끝에 1개의 0이 있습니다. trailingZeros(12) = 2 12! = 479001600 --> 2, 꼬리에 2개의 0이 있습니다. @param {number} n..
-
[C언어/Day1] C언어 수업정리 (정보처리기사, 실기)Backend 2019. 5. 12. 15:38
정보처리기사 실기반 수강을 시작하면서 C언어 기초를 배우게 되었다. 아마 컴퓨터공학 관련 학과를 나왔다면 아마 필수적으로 공부했을 과목인데, 나는 비전공이라서 이번 기회에 처음 접하게 되었다. 내가 지금 공부하고 있는 자바스크립트와 가장 크게 다른 점은 자바스크립트는 인터프리터 언어이고 C언어는 컴파일러 언어라는 점이다. 이 부분에 대해서는 아래 글에 좀 더 자세하게 설명되어 있다. https://im-developer.tistory.com/77 [JS/호이스팅] Interpreted Language인 자바스크립트의 호이스팅(Hoisting)에 대하여 자바스크립트, 인터프리터 언어(Interpreted Language) 보통 우리가 사용하는 프로그래밍 언어는 고급 언어(High Level Language..