-
[C언어/Day3] C언어 수업정리 - 배열 기초 (정보처리기사, 실기)Backend 2019. 5. 22. 22:00
좁은 서울 땅 덩어리에 미국처럼 단독주택만 짓는다면 어떨지 상상해보자. 집 짓는 데 시간도 오래 걸리고 효율도 매우 떨어질 것이다. 그런데 여러 명을 한 번에 수용할 수 있는 아파트를 지어서 방 한 칸에 1가구 씩 배정한다면 훨씬 효과적으로 주택 공급을 할 수 있을 것이다. 만약에 배열이 없었다면 어떤 데이터 100개를 처리할 때 100개의 변수를 만들고, 그 변수에 100개의 데이터를 각각 할당하여 처리를 해야만 했을 것이다. 얘기만 들어도 비효율적이고 끔찍하다. 그래서 우리는 배열이란 걸 만들어냈는데, 일종의 아파트를 만든 것이다. 그리고 아파트 칸마다 순차적으로 방번호를 부여하고 하나의 데이터를 부여한 것이다. 그리고 우리는 반복문을 사용하여 각각의 방에 든 데이터를 가지고 같은 작업을 여러 번 반..
-
사심을 담은 아이패드 프로2 10.5인치(+애플펜슬) 리뷰 및 활용기 / 아이패드 악세서리 추천Review, Chat 2019. 5. 22. 15:25
그러니까 정확히 3개월 전으로 거슬러 올라간다. 같이 일하던 동기가 퇴사를 앞두고 퇴직금으로 아이패드 6세대와 애플펜슬을 구입했다며 자랑했다. 그 때까지만 해도 아이패드는 나에게 하등 쓸모없이 비싸기만 한 사치품(?) 정도로만 생각되었다. (사실 아이패드를 사고 난 지금도 어느 정도는 그렇다고 생각한다. ㅋㅋ) 근데 막상 동기가 가져 온 아이패드 실물을 보고 애플펜슬로 메모장에 선 몇 개 그려보니 눈이 번쩍, 내 지갑도 번쩍. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ큐ㅠㅠㅠㅠㅠㅠㅠㅠ 거의 2개월을 사네 마네, 저렴한 6세대를 사네, 새로 나온 에어3을 사네, 가성비라는 프로2 10.5를 사네 무한 루프를 하며 엄청나게 나의 시간을 낭비하였다. ㅋㅋㅋㅋㅋ 그리고 그냥 샀다. IPAD PRO2 10.5 SPACE GRAY ..
-
[알고리즘/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이나..
-
[VS code/터미널] 터미널로 Visual Studio Code 실행시키기 (+ VS code 파일 열기)Tools 2019. 5. 15. 19:17
예전에 캐나다에 워홀로 떠났을 때, 방을 같이 쓰던 룸메이트가 캐나다 아마존에서 개발자로 근무하던 친구였다. 사실 그 때는 개발자가 뭔지도 몰랐고, 그 친구가 "난 개발자야"라고 말한 적도 한 번도 없었다. 다만 그 애가 맨날 노트북에 시커먼 터미널 창을 띄워놓고 보기만 해도 토할거 같은 알파벳 나열들을 보고 있었던 것이 기억난다. 그 때는 그게 뭔지도 모르고 되게 있어보이고 멋있어보였다.ㅋㅋㅋ 하여튼 나도 터미널 사용에 점점 익숙해져야 할텐데 아직까진 쉽지가 않다. 이미 마우스에 익숙해져버린 탓에 급하면 자꾸 손이 마우스로 간다. 휴... 그래도 조금이나마 익숙해져보기 위해서 제일 자주 쓰는 Visual Studio Code를 터미널로 실행시키는 법을 정리해보려고 한다. 사실 거창하게 시작했지만 방법은..
-
[JS/디버깅] 개발자도구로 자바스크립트 디버깅하기(debugger)Frontend 2019. 5. 14. 15:20
디버깅(Debugging) 이란? 우리가 어떤 소스 코드를 작성하여 실행시켰을 때, 내가 원하는 결과가 나오지 않는다면 어떻게 해야할까? 가장 일반적으로 할 수 있는 방법은 내가 작성한 소스 코드를 위에서부터 한 줄씩 읽으면서 어느 부분에서 에러가 발생하였는지 차근 차근 짚고 넘어가는 방법이다. 바로 이러한 과정을 디버깅이라고 한다. 디버깅(Debugging)은 컴퓨터에서 발생한 오류를 찾기 위해 소스 코드를 한 줄씩 따라가면서 변수값의 변화를 검사하는 과정을 말한다. 이제 debugger라는 구문을 사용하여 개발자 도구로 자바스크립트 소스 코드를 디버깅하는 방법을 정리해보려고 한다. 코드를 짜면서 개발자 도구는 항상 사용하지만 console.log()나 console.dir()외에는 별로 사용할 줄 몰..
-
[알고리즘/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(); /..