반응형 분류 전체보기1062 타입 캐스팅으로 deep copy, memcpy 구현하기 (Memory Copy with Type Casting) 삼성 C형 전체 링크 참고 - 타입 캐스팅으로 한 번에 메모리 쓰기, 읽기 삼성 C형에서는 string.h 라이브러리를 사용할 수 없기 때문에 memcpy를 사용할 수 없다. 그래서 배열을 복사할 때, for문을 이용해 직접 복사한다. 그런데 임시 변수 없이 변수 바꾸기에서 long 타입을 캐스팅하여 배열을 한꺼번에 교체하였다. 이 방법을 더 확장하여 더 빠른 copy를 메모리 casting으로 구현할 수 있다. 1차원 배열 복사 - 배열 복사 먼저 단순 복사 코드를 보고 실행 시간을 확인해 보자. (SW Expert Academy 문제에서 비교) char 1000개의 배열 a를 for를 이용해 b에 복사한다. #include #include /* memcpy test */ #define MAX (100.. 2023. 8. 15. 함수의 매개변수와 배열의 register 속도 비교 A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기) 삼성 B형 전체 링크 참고- 변수 register 테스트 - B형에 필요한 최적화 코드 (1) (register 변수)- B형에 필요한 최적화 코드 (2)- 함수의 매개변수와 배열의 register 속도 비교- 삼성 B형 디버깅 Tip- 비주얼 스튜디오 output.txt 설정하기- 삼성 SW 역량 시험 환경에서의 인라인 함수- Visual Studio LNK1168: 쓰기용으로 열 수 없습니다 해결방법 변수 외에도 함수의 매개변수나 배열에 register 키워드를 추가하면 속도 향상 효과를 볼 수 있다.특히, 자주 사용하는 배열일수록 효과적이다.매개변수 register 같은 동작을 하는 test1과 test2 함수가 있다.test2는 .. 2023. 8. 15. C, C++ - 비트 교환 (Change Some Bits) C, C++ 전체 링크 삼성 C형 전체 링크 참고 - 비트 연산 기본 매크로 함수 - 비트 단위로 출력하기 1. char 타입 4bit 교환 2. 4bit 단위로 교환 3. 1bit 교환 char 타입 4bit 교환 char는 1byte = 8bit이므로 아래와 같이 4bit씩 양 옆으로 옮겨주면 비트가 교환된다. 예를 들어 char a = 0xA9라면 0x9A가 된다. typedef unsigned char uc; uc change4Bit(unsigned char value) { return (value > 4); } 전체 코드는 다음과 같다. #include typedef unsigned char uc; uc change4Bit(unsigned char value) { return (value > 4.. 2023. 8. 15. 간단한 윤곽선 검출로 정사각형 찾기 (Find Squares with Simple Edge Detection) 삼성 C형 전체 링크 에지 디텍션은 영상의 밝기의 변화를 검출하여 윤곽선을 찾는 방법이다. 여기서는 간단히 2차원 배열에 겹쳐져 있는 정사각형을 검출해보자. makeRectangle 함수는 좌표 (sr, sc) ~ (er, ec)의 사각형을 모두 1로 증가시키는 함수다. #define MAX (20) int originalMap[MAX][MAX]; void makeRectangle(int sr, int sc, int er, int ec) { for (int r = sr; r < er; r++) for (int c = sc; c < ec; c++) originalMap[r][c]++; } 여기서 만들 정사각형의 최소 사이즈는 4라고 가정한다. makeRectangle(5, 5, 10, 10); // 길이가.. 2023. 8. 14. Node JS - 문자열로 된 조건식 판단하기 (Evaluate String into Conditions with Acorn) Node JS 전체 링크 아래와 같은 조건식이 있다고 가정하자. 이 경우, if문 내에서 true나 false가 반환되어 if문이 실행되거나 실행되지 않는다. if((((condition1) && (condition2 || condition3))) == condition4) { ... } 그런데 만약 위의 조건식이 문자열(string)로 주어진다면? if 문 내에서는 판단할 방법이 없다. const condition = "(((condition1) && (condition2 || condition3))) == condition4"; if(condition ???) { ... } // if문에서 사용 불가능 자바스크립트에서는 acorn을 이용해서 AST(Abstract Syntax Tree)를 생성하고 문.. 2023. 8. 6. 리액트 - Toast UI 에디터로 깃허브 마크다운 저장하기 (Toast UI Editor with GitHub RESTful API) 깃허브 데스크탑으로 프로젝트 관리하기 강의 오픈!! (인프런 바로가기) 리액트 전체 링크Git / GitHub 전체 링크 참고- RESTful API로 파일 읽기- RESTful API로 파일 쓰기- 깃허브 RESTful API로 파일 편집기 만들기- 파일 편집 후 메일 알림이 가도록 수정하기 - Toast UI로 에디터 만들기- 글자색 변경 플러그인 추가하기- 테이블 병합 플러그인 추가하기- 에디터 저장하고 초기화하기- Toast UI 에디터로 깃허브 마크다운 저장하기- Toast UI 에디터로 이미지를 포함한 깃허브 마크다운 저장하기- Socket.IO로 Toast UI Editor 동시 편집하기 토스트 에디터 예제 링크 토스트 UI 에디터로 로컬이 아닌 깃허브에 직접 파일을 저장하고 편집해 보자.h.. 2023. 7. 30. 리액트 - Toast UI 에디터 저장하고 초기화하기 (Save and Initialize Toast UI Editor) 리액트 전체 링크 참고 - 로컬 스토리지 사용 방법과 세션 스토리지 비교 - https://nhn.github.io/tui.editor/latest/tutorial-example16-i18n - Toast UI로 에디터 만들기 - 글자색 변경 플러그인 추가하기 - 테이블 병합 플러그인 추가하기 - 에디터 저장하고 초기화하기 - Toast UI 에디터로 깃허브 마크다운 저장하기 - Toast UI 에디터로 이미지를 포함한 깃허브 마크다운 저장하기 - Socket.IO로 Toast UI Editor 동시 편집하기 토스트 UI 에디터에서 저장하기 버튼을 누르면 편집한 내용이 저장되도록 해보자. initialValue 옵션 initalValue에 값을 넣어주면 해당 내용으로 에디터가 시작된다. let initC.. 2023. 7. 30. 리액트 - Toast UI 에디터 테이블 병합 플러그인 추가하기 (Add Table Merged Cell Plugin Toast UI Editor) 리액트 전체 링크 참고 - https://nhn.github.io/tui.editor/latest/tutorial-example10-editor-with-table-merged-cell-plugin - https://www.npmjs.com/package/react-scripts?activeTab=versions - Toast UI로 에디터 만들기 - 글자색 변경 플러그인 추가하기 - 테이블 병합 플러그인 추가하기 - 에디터 저장하고 초기화하기 - Toast UI 에디터로 깃허브 마크다운 저장하기 - Toast UI 에디터로 이미지를 포함한 깃허브 마크다운 저장하기 - Socket.IO로 Toast UI Editor 동시 편집하기 토스트 UI 에디터에 테이블을 Merge하는 기능을 추가해보자. 설치 ta.. 2023. 7. 30. 리액트 - Toast UI 에디터 글자색 변경 플러그인 추가하기 (Add Color Syntax Plugin Toast UI Editor) 리액트 전체 링크 참고 - https://nhn.github.io/tui.editor/latest/tutorial-example09-editor-with-color-syntax-plugin - Toast UI로 에디터 만들기 - 글자색 변경 플러그인 추가하기 - 테이블 병합 플러그인 추가하기 - 에디터 저장하고 초기화하기 - Toast UI 에디터로 깃허브 마크다운 저장하기 - Toast UI 에디터로 이미지를 포함한 깃허브 마크다운 저장하기 - Socket.IO로 Toast UI Editor 동시 편집하기 토스트 UI 에디터에 글자색을 변경하는 기능을 추가해보자. 설치 color-syntax 플러그인을 설치한다. npm install @toast-ui/editor-plugin-color-syntax 플.. 2023. 7. 30. 이전 1 ··· 29 30 31 32 33 34 35 ··· 118 다음 반응형