본문 바로가기

분류 전체보기

(894)
[c언어] 더 크게 합치기 1. 정수 a,b 문자열 변환 (sprintf ) 2. a+b, b+a 정의 (strcpy, strcat 함수 ) 3. a+b, b+a를 다시 정수로 변환해서 대소 비교(atoi 함수) #include #include #include #include int solution(int a, int b) { int answer = 0; char stra[10], strb[10]; sprintf(stra,"%d",a); sprintf(strb,"%d",b); char* sa = (char*)malloc(sizeof(char)*10); char* sb = (char*)malloc(sizeof(char)*10); strcpy(sa, &stra); strcat(sa, strb); strcpy(sb, &strb); st..
[c언어] 문자열 곱하기 #include #include #include char* solution(const char* my_string, int k) { int len = strlen(my_string); char* answer = (char*)malloc((len*k+1)*sizeof(char)); for(int i = 0; i < k; i++) { for(int j = 0; j
[c언어] 문자 리스트를 문자열로 변환하기 #include #include #include char* solution(const char* arr[], size_t arr_len) { char* answer = (char*)malloc((arr_len+1)*sizeof(char)); for(int i=0; i
[c언어] 문자열 섞기 #include #include #include char* solution(const char* str1, const char* str2) { int s1 = strlen(str1); char* answer = (char*)malloc((2*s1+1)*sizeof(char)); int j = 0; for(int i=0; i < s1; i++) { answer[j++] = str1[i]; answer[j++] = str2[i]; } answer[j] = '\0'; return answer; }
[c언어] 문자열 겹쳐쓰기 #include #include #include char* solution(const char* my_string, const char* overwrite_string, int s) { int m = strlen(my_string); int o = strlen(overwrite_string); int j = 0; char* answer = (char*)malloc(sizeof(char)*m); answer = my_string; for(int i=s; i < s+o; i++) { answer[i] = overwrite_string[j]; j++; } answer[strlen(my_string)] = '\0'; return answer; }
[Deep dive] 49장 Babel과 Webpack을 이용한 ES6+/ES.NEXT 개발 환경 구축 - ES6+와 ES.NEXT의 최신 ECMAScript 사양을 사용하여 프로젝트를 진행하려면 최신 사양으로 작성된 코드를 경우에 따라 IE를 포함한 구형 브라우저에서 문제 없이 동작시키기 위한 개발 환경을 구축하는 것이 필요 49.1 Babel - ES6+/ES.NEXT로 구현된 최신 사양 소스코드를 IE같은 구형 브라우저에서도 동작하는 ES5 사양의 소스코드로 변환(트랜스 파일링) 가능 - npm을 사용하여 Babel 설치 # 프로젝트 폴더 생성 mkdir esnext-project && cd esnext-project # package.json 생성 npm init -y # babel-core, babel-cli 설치 npm install --save-dev @babel/core@babel/cli 1..
[Deep dive] 48장 모듈 48.1 모듈의 일반적 의미 모듈(module) - 애플리케이션을 구성하는 개별적 요소로서 재사용 가능한 코드 조각 - 기능을 기준으로 파일 단위로 구분 - 모듈이 성렵하려면 모듈은 자신만의 파일 스코프(모듈 스코프)를 가질 수 있어야 함 - 자신만의 파일 스코프를 갖는 모듈의 모든 자산은 캡슐화되어 다른 모듈에서 접근 불가 - 모듈은 개별적 존재로서 애플리케이션과 분리되어 존재 export - 모듈은 공개가 필요한 자산에 한정하여 명시적으로 선택적 공개 가능 - 공개(export)된 모듈의 자산은 다른 모듈에서 재사용 가능. 공개된 모듈의 자산을 사용하는 모듈을 모듈 사용자(module consumer)라고 함 import - 모듈 사용자는 모듈이 공개한 자산 중 일부 또는 전체를 선택해 자신의 스코프..
[Deep dive] 47장 에러 처리 47.1 에러 처리의 필요성 - 에러(error)가 발생하지 앟는 코드를 작성하는 것은 불가능. 따라서 에러는 언제나 발생 가능 - 발생한 에러에 대해 대처하지 않고 방치하면 프로그램은 강제 종료됨 - 직접적으로 에러를 발생하지는 않는 예외(exception)적인 상황이 발생할 수 도 있음. 예외적인 상황에 적절하게 대응하지 않으면 에러로 이어질 가능성이 큼 //DOM에 button 요소가 존재하지 않으면 querySelector 메서드는 에러를 발생시키지 않고 null을 반환 const $butoon = document.querySelector('button'); //null $button.classList.add('disabled'); //TypeError: Cnnot read property 'cl..