반응형 목록364 프로그래머스] C++ 해시 - 전화번호 목록(Level 2) phone_book에 있는 문자열들 중 접두사가 중복되는 경우가 있으면 false, 없으면 true를 반환하는 문제입니다. 예를들어 예제에 나와있는것 처럼 "119", "97674223", "1195524421" 이 있다고 가정한다면 "119"는 "1195524421"에 중복되므로 false입니다. 반면 "123", "456", "789" 부분은 중복되는것이 없으므로 true입니다. 문자를 하나씩 비교하는 방법도 있지만 비효율적이라는 판단이 서서 트라이(trie)구조로 풀었습니다. 트라이구조는 https://hwan-shell.tistory.com/133?category=771708 에서 확인하시면 됩니다. #include #include #include #define NUMBER 10 using nam.. 2020. 1. 23. 프로그래머스] C++ 해시 - 완주하지 못한 선수(Level 1) 문자를 비교해서 없는문자 1개를 찾는 문제입니다. 여러가지 방법이 있겠지만 저는 participant와 completion 백터를 정렬한 후 비교해서 풀었습니다. #include #include #include using namespace std; string solution(vector participant, vector completion) { string answer = ""; sort(participant.begin(), participant.end()); sort(completion.begin(), completion.end()); for(int i=0; i 2020. 1. 23. C/C++ IPC인 mailslot에 대한 이해 Mail Slot은 프로세스간에 데이터를 주고받기 위한 방식중 하나입니다. 프로세스는 기본적으로 자신에게 할당된 메모리를 공유할 수 없기 때문에 여러가지 방법으로 데이터를 주고 받습니다. Mail Slot은 파일에 데이터를 적어 놓고 다른 프로세스들이 해당 파일에 접근해서 데이터를 읽어오도록 합니다. 따라서 파일을 읽을 수 있는 함수인 ReadFile() 함수와 데이터를 작성할 수 있는 WriteFile() 함수가 사용됩니다. MailSlot의 특징은 다음과 같습니다. 1. 단방향 통신이다. CreateMailslot() 함수로 보낼 메일 슬롯의 파일을 생성하고 WriteFile()함수를 통해 입력을 하게되고 CreateFile() 함수를 통해 파일을 열어 해당 내용을 읽어올 수 있는 ReadFile().. 2020. 1. 16. Restful에 대한 이해하기(Restful 특징) - 4 이 글은 제가 C++ Restful 인 casablanca를 개발하는데 앞서 일반적인 Restful의 정의를 알아보고자 작성하는 글입니다. 조사 기간은 7일걸렸습니다. 목차는 다음과 같이 진행됩니다. 1. 웹의 역사(Restful의 탄생 배경을 알아보기 위해선 시작점을 이해해야 했습니다.) 보러가기 : https://hwan-shell.tistory.com/139 2. xml과 json, soap의 통신 방식과 단점. 보러가기 : https://hwan-shell.tistory.com/140 3. Restful 과 soap의 차이점. 보러가기 : hwan-shell.tistory.com/141?category=826872 4. Restful의 특징 ※REST는 무언가 대단한것이 아니며 꼭 이러한 규칙을 .. 2020. 1. 13. Restful에 대한 이해하기(Restful과 SOAP차이) - 3 이 글은 제가 C++ Restful 인 casablanca를 개발하는데 앞서 일반적인 Restful의 정의를 알아보고자 작성하는 글입니다. 조사 기간은 7일걸렸습니다. 목차는 다음과 같이 진행됩니다. 1. 웹의 역사(Restful의 탄생 배경을 알아보기 위해선 시작점을 이해해야 했습니다.) 보러가기 : https://hwan-shell.tistory.com/139 2. xml과 json, soap의 통신 방식과 단점. 보러가기 : https://hwan-shell.tistory.com/140 3. Restful 과 soap의 차이점. 4. Restful의 특징 보러가기 : hwan-shell.tistory.com/142 저희는 앞서 SOAP에 대해 알아보았습니다. 이해를 돕기위해 SOAP의 특징을 설명해.. 2020. 1. 13. Restful에 대한 이해하기(xml, soap란?) - 2 이 글은 제가 C++ Restful 인 casablanca를 개발하는데 앞서 일반적인 Restful의 정의를 알아보고자 작성하는 글입니다. 조사 기간은 7일걸렸습니다. 목차는 다음과 같이 진행됩니다. 1. 웹의 역사(Restful의 탄생 배경을 알아보기 위해선 시작점을 이해해야 했습니다.) 보러가기 : hwan-shell.tistory.com/139?category=826872 2. xml과 json, soap의 통신 방식과 단점. 3. Restful 과 soap의 차이점. 보러가기 : hwan-shell.tistory.com/141?category=826872 4. Restful의 특징 보러가기 : hwan-shell.tistory.com/142 그럼 두번째 글 시작하겠습니다. 우선 HTTP통신 방식은.. 2020. 1. 12. Restful에 대한 이해하기(웹의 역사) - 1 이 글은 제가 C++ Restful 인 casablanca를 개발하는데 앞서 일반적인 Restful의 정의를 알아보고자 작성하는 글입니다. 조사 기간은 7일걸렸습니다. 목차는 다음과 같이 진행됩니다. 1. 웹의 역사(Restful의 탄생 배경을 알아보기 위해선 시작점을 이해해야 했습니다.) 2. xml과 json, soap의 통신 방식과 단점. 보러가기 : hwan-shell.tistory.com/140 3. Restful 과 soap의 차이점. 보러가기 : hwan-shell.tistory.com/141?category=826872 4. Restful의 특징 보러가기 : hwan-shell.tistory.com/142 그럼 시작하겠습니다. ● 웹의 역사. SGML. 출처 : https://ko.wiki.. 2020. 1. 12. C/C++ 뇌를 자극하는 윈도우 운영체제 프로젝트 2. 윤성우 저자께서 작성하신 "뇌를 자극하는 윈도우 운영체제"의 실습 2번입니다. C언어로 만들어져 있으며 다음과 같은 요구사항을 말하고 있습니다. 1. start 입력시 자식프로세스 생성. 2. start echo "문자열" 입력시, 자식프로세스 생성 후 해당 문자열 출력. 저는 C++을 사용해 구현했으며, Boost의 tokenizer를 사용했습니다. 만든 visualstudio 는 2019 버전을 사용했으며, 다른 버전 사용 시 echo_console.exe 파일 경로가 다를 수 있습니다. 소스코드는 아래와 같습니다. main.cpp #include #include #include #include #include #include #include using namespace std; typedef bas.. 2019. 12. 29. MSB8020] v142빌드 도구를 찾을 수 없을 때. 보통 visual studio 2019버전에서 github에 작업한걸 올리고 2019보다 아래 버전에서 빌드를 하면 다음과 같은 오류가 나옵니다. 이는 visual studio 2019버전으로 릴리즈 되면서 같이 v142빌드 도구가 생겨난 것이기 때문인데요. 해결방법은 1. 2019버전으로 다시 깔아주거나 2. 빌드 버전을 바꿔주는 방법밖에 없습니다. v142버전은 2019버전만 사용가능하기 때문입니다. 그럼 빌드 버전을 바꿔주는 방법을 알아보겠습니다. 플랫폼 도구 집합을 visual studio 2017(v141)버전으로 바꿔주시면 됩니다. 하지만 왠만해선 최신버전으로 업그레이드 해주세요. 버전마다 폴더 생성위치와 이름이 조금씩 다릅니다. 2019. 12. 29. visual studio 2017에서 헤더파일을 찾을 수 없을 때. github에서 프로젝트를 받아 visual studio에서 실행시킬 때 발생하는 문제입니다. 보통 버전이 서로 다른 환경에서 저장 후 다운로드를 받아 사용하면 이런 현상이 나타납니다. 그럴경우 아래와 같이 진행해줍니다. 가장 최신 SDK버전 클릭 후 확인. 끝!!. 컴파일 과정에서 MSB8020 오류가 뜬다면 여기를 참고해주세요!!. 2019. 12. 29. C/C++ 프로세스 생성하기. C/C++에서 프로세스를 생성하는 방법은 다음과 같습니다. CreateProcess() 함수를 통해 생성하는 방법입니다. CreateProcess() 함수는 다음과 같이 정의되어 있습니다. BOOL CreateProcess{ LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURTIY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTUPINFO lpStartupInfo, LPPROCESS_INFO.. 2019. 12. 29. c/c++ TCHAR 정리. 요즘은 문자를 처리할 때 유니코드를 주로 사용합니다. WBCS라고 하며 모든 문자와 숫자를 2바이트로 처리합니다. 모든 프로그램이 유니코드를 사용하면 좋겠지만.... 실상은 아니죠. 초창기, 문자열 처리는 아스키코드로 사용해왔고, 아스키 코드는 1바이트로 구성됩니다. 그리고 초창기부터 사용되어 왔던 아스키코드를 지금도 사용하고 있죠. C/C++에선 유니코드를 사용함에 따라 문자열 처리를 1바이트와 2바이트 이 두개를 신경써서 해야 했고, 결론적으로 유니코드를 처리할 수 있는 자료형을 만들어 냅니다. 바로 앞에 w를 붙인 자료형이죠. 아래 자료형 선언은 헤더파일에 정의되어 있습니다. (정확히 말하자면 winnt.h에 있지만 이 해더파일을 Windows.h가 포함하고 있습니다.) char = 1바이트 wch.. 2019. 12. 29. C/C++] 트라이(Trie) 알고리즘을 만들어보자!! 문자열을 (m log n)의 형태로 빠르게 찾는 알고리즘입니다. 구성은 Tree 형태로 만들어지며 입력은 다음과 같이됩니다. "like, bike, bool, book"을 입력받는다고 가정한다면, 이런식으로 들어가게 됩니다. 여기서 root 노드에서 자식노드로 갈 수 있는 경우의 수는 26가지 입니다. 왜냐???!!! 영어 알파벳은 26개 이기 떄문입니다.(대문자 제외) 그래도 모르시겠다고요??!! 영어 알파벳은 a ~ z 까지 있습니다. 이것의 갯수는 26개 입니다. 그럼 영어 단어들의 첫번째 문자로 올 수 있는 경우의 수는 26가지가 되는 것입니다. 예를들어 apple, banana, like, etc..... apple은 a로 시작하고 banana는 b로, like는 l로 시작합니다. 즉, 시작단어.. 2019. 12. 22. c++의 move, rvalue, lvalue에 대한 설명....(복잡해요~) 무브...... move........ 사전에 알아야할 것들이 있습니다. 1. 복사생성자(깊은복사). 2. static_cast 3. lvalue, rvalue move에 대해 이해하려면 위 3가지는 반드시 짚고 넘어가야 합니다. 1. 복사생성자에 관해선 이미 글을 올린것이 있으니 참고하시기 바랍니다. · 얕은복사와 깊은복사 : https://hwan-shell.tistory.com/42 · 복사생성자의 호출 과정 : https://hwan-shell.tistory.com/43 2. static_cast에 관해서는 아래 링크를 클릭해 주세요. https://hwan-shell.tistory.com/211 3. lvalue, rvalue는 따로 정의할까 하다가같이 설명하는게 좋을것 같아 move와 같이 설.. 2019. 12. 17. c++ 양파 까듯이 계속 튀어 나오네.... move에 대해 글을 작성하려고 여러 자료들을 찾다보니 static_cast라는 녀석이 나오고 이녀석에 대해 찾다보니 rvalue, lvalue에 대해서 나오고 rvalue오 lvalue에 대해 찾다보니 참조자와 const, 임시객체, 리터럴 변수 등이 나오고.... 그러다 보니 순간 "내가 뭐하다 여기까지 왔지?" 라는 생각이 든다..... ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 2019. 12. 16. 이전 1 ··· 13 14 15 16 17 18 19 ··· 25 다음 728x90 반응형