본문 바로가기
반응형

Programming24

시간복잡도와 공간복잡도 개념. 알고리즘 초보라면 필독!! 알고리즘 공부를 시작함에 있어서 시간복잡도와 공간복잡도의 개념은 알고리즘 평가의 기본이 되는 개념입니다. 규모가 크거나 매우 복잡한 컴퓨터 프로그램을 개발할 때는 해결해야 할 문제를 제대로 이해해서 정확히 정의하고, 그 복잡도를 관리하고 구현하기 쉬운 작은 작업으로 분리하는데 가장 많은 노력이 투자되어야 합니다. 그러기 위해서는 복잡도 분석을 할 수 있어야합니다. 그렇기 때문에 알고리즘 평가의 기본이 되는 개념이 복잡도 개념인 것입니다. 복잡도의 개념은 크게 두 가지가 있습니다. 바로 시간복잡도 (Time Complexity) 와 공간복잡도 (Scpae Complexity)입니다. 재밋게도 저 둘은 사람들에게도 가장 중요한 자원들입니다. 이 두 자원을 어떻게 관리하냐가 알고리즘과 더 나아가서 프로젝트 전.. 2020. 5. 5.
[맥] 맥에서 C++ 사용하기!!! 하 얼마전에 윈도우 노트북을 정리하고 맥으로 넘어왔다. 이런 저런 이유는 포스팅으로 작성해 놨다. [맥] 씽크패드(윈도우)에서 맥북 16인치로 바꾼 이유!!! 새 해 계획을 짜던 도중에 계속 윈도우 노트북의 팬소리와 발열이 거슬렸다. 내가 집에서 컴퓨터를 사용하는 용도는 아주 일반적인 용도이다. 넷플릭스, 유튜브, 인터넷, 일기 블로그 작성등 문서 업무 등등 모두.. kinotion.tistory.com 그런데 회사에서 준비하는 시험이 C++을 사용해야하는데 물론 맥에서 부트캠프로 윈도우를 사용할 수 있지만 껏다 켰다 하기 귀찮아서 웬만하면 맥에서 내가 필요한 기능들을 다 사용하고 싶었다. 그래서 맥에서 C++을 사용하는 법을 알아봤다. XCODE!! 가장 간단한 방법이다. 맥에서는 기본 개발툴로 XCo.. 2020. 2. 1.
알고리즘에 쏠쏠한 swap 함수 알고리즘 문제를 풀다보면 정렬을 해야할 경우가 많이 생긴다. 정렬의 기본적인 로직은 A B 두 항목을 비교해서 설정한 로직에 따라 순서를 바꾸는 것이다. 조건에 따라서 이런 정렬을 자주 해야하는데 거기서 A B의 순서를 바꿔주는 행위는 필수 적이다. 이걸 지금까지 매번 구현했었는데.... algorithm에 구현되어 있는 걸 얼마 전에 알았다. 그 이름도 너무도 직관적이게 swap!!!!!!! 물론 알고리즘 expert 레벨에서는 include를 할 수 없기 때문에 전부 자기가 구현해하기 때문에 장기적으로 보면 모두 다 바로바로 구현할 수 있는게 시험을 대비하는데는 좋겠지만.... 이미 아는 로직에 더 이상 불필요한 시간을 할애하지 않아도 되니까! [사용법] 1. 라이브러리 호출 #include 2. 사.. 2019. 8. 20.
Visual Studio 오프라인 설치(offline install) [오프라인 설치해야하는 경우가 있따!!!!] 윈도우 프로그램을 팀단위로 개발하면 서버를 두고 각자 개발자들이 개발한 모듈을 서버에서 통합 빌드 진행해야 할 경우가 있다. 서버의 경우 해킹당할 경우 피해의 규모가 커지기 때문에 망분리를 해서 외부 인터넷이 연결 안 되도록 하는 경우가 대부분이다. 이 부분에서 문제가 발생한다. 윈도우 프로그램 통합 빌드를 하는데는 물론 다양한 방법이 있겠지만 기본적으로 visual studio를 설치할 수 있으면 너무 편하다. 그런데 요즘 최신 비쥬얼 스튜디오는 cd로 설치파일을 제공하지 않아서 좋긴하지만 인터넷 환경에서 설치할 수 있도록 연결파일만 제공한다. 그 연결파일이 실행되면 마이크로소프트 서버에 접속해서 설치파일을 다운 받아서 설치하는 형식으로 설치가 진행된다. 서.. 2019. 8. 17.
[AHK] 오토핫키로 입력받은 이름으로 폴더 생성 후 설정 파일 생성!! 의미없이 물리적으로 반복하는 일은 저눕 오토핫키로 대체 하고자 한다. 반복적으로 특정 이름을 가지고 있는 오늘 날짜의 특정 폴더를 생성 후 설정파일을 만드는 일을 자주 한다. 이 과정을 자동화 시작!! 1. 특정 이름 입력받기 2. 폴더 생성 3. 설정 파일 생성 4. 특정 폴더 경로로 이동 1. InputBox, name, ==> 폴더명 입력 받기 2. FormatTime, CurrentDateTime,, yyyyMMdd SendInput %CurrentDateTime% ==> 날짜 변수 셋팅 3. FileCreateDir C:\패치파일\%name%_%CurrentDateTime% ==> 입력받은 변수와 오늘 날짜로 폴더 생성 4. FileAppend, , C:\패치파일\%name%_%CurrentDa.. 2019. 7. 21.
[AHK] 오토핫키로 에버노트 일기 쓰기 자동화 매일매일 하루가 스쳐지나간다는 생각 때문에 매일 일기를 쓰려고 노력한다. 지금 이순간도 시간이 가는게 아쉬운데 그 아쉬운 이유는 아마 열심히 살지 않고 하루 하루가 허무하게 지나가기 때문일 것이다. 에버노트에 일기를 쓰고 있는데 일기를 꾸준하게 쓰는게 가장 위협이 되는 요소는 바로 귀찮음이다. 핸드폰, 아이패드, 컴퓨터 등 여러가지 디바이스로 일기를 쓸 수 있지만 결국 타이핑이 많아지게 되면 컴퓨터를 사용해야한다. 컴퓨터로 일기를 쓰려면 컴퓨터를 키고 에버노트를 실행해서 일기 폴더로 이동후 새노트를 만들고 제목에 날짜를 넣는 루틴한 과정이 있다. 윈도우에서 오토핫키를 알게 되서 이 과정을 자동화 시켜 보기로 했다. 1. 에버노트 실행 2. 일기 폴더 이동 3. 새노트 생성 4. 제목으로 이동 5. 날짜 .. 2019. 7. 20.
[AHK] hotstring으로 날짜 입력 맥 사용자 사실 퇴근하고 집에 와서는 게임 할 때 빼고는 거의 맥만 사용했다. 그런데 요즘 회사 일에 욕심이 생기면서 집에서도 Visual Studio를 켜야하는 일이 많아졌고... 개떡같은 맥 부트캠프의 스위칭 부팅 인식 때문에 블루투스 키보드에서 자유롭게 OS가 스위칭이 되지 않았다. 윈도우 사용자 그래서 고민 끝에 윈도우 개발용 노트북을 구매했다. 그리고 윈도우 노트북을 사용하다보니 맥에서 쉽게 사용하던 텍스트 대체 기능이 너무 아쉬운거다 ㅠㅠ 맥에서는 집주소, 계좌, 오늘 날짜 등등을 단축어에 넣고 사용했다. 맥이 기가 막힌게 ios나 mac에서나 아무곳에서 설정하면 모든 기기에서 그 단축어를 사용할 수 있었다. 암튼 오늘 날짜를 타이핑하는 기능은 너무 필요한 기능이었기에 윈도우에서도 맥에서 처럼.. 2019. 7. 15.
Visual Studio 2019 출시 그리고 특징 비쥬얼 스튜디오는 2년마다 업데이트가 되고있다. 13, 15, 17 이후 올해 4월에 19가 나와버렸다. 17도 제대로 제대로 못쓰고 있는데.. 암튼 그래도 새거는 설레임을 준다. 그리고 윈도우 업데이트 하지마세요!! 특정환경에서 데스크톱을 못띄우는 현상있어서 윈도우 밀어야합니다. 윈도우도 한번 날려버렸겠다 그 찬스로 2019 바로 설치해봤다. 그림은 구글에서 가지고 왔는데 일단 디자인이 너무 맘에 든다. 디자인이 이쁘면 일할 맛도 나는거 당연하거 아니겠나. 로고나 디자인을 잘 뽑은것 같다. 이번에는 적응을 잘해서 대단한 개발자들인 마소가 만들어낸 좋은기능들을 잘 써봐야겠다. 마소에서 밝히는 이번 비쥬얼 스튜디오 2019 의 특징 정리 향상된 검색 ==> 동적 검색결과 디스플레이 + 단축키 제공 리팩토링.. 2019. 5. 12.
[Mac] Automator + Keyboardmaestro를 이용해 이미지 사이즈 한번에 조정하기 자동화의 필요성요즘 블로그에 게임 플레이 일지를 올리다보니 사진을 올리는 양이 많아졌다. 대부분 이미지가 캡쳐 이미지 인데 절반은 4k 모니터 캡쳐 절반은 아이폰x 캡쳐다보니 해상도가 너무 높아서 파일 용량이 장난이 아니다. 그런데 티스토리는 업로드 할 수 있는 사진의 해상도 제한이 있고 한 번에 올릴 수 있는 사진의 총 용량도 50메가로 제한이 있다. 그래서 어짜피 쓸데없이 큰 사진파일들을 지금 까지 photoScape를 이용해서 일괄 리사이즈 하고 있었다. 그런데 이 과정도 사실 쓸데없이 동일한 패턴의 반복 이었다. 1. photoscape 열기2. 바꾸고 싶은 파일 열기3. resize 비율 정하기4. 변환하기 버튼 누르기 은근히 잔손이 많이 가는 작업이었는데 찾아보니 image resize를 자동.. 2019. 2. 10.
반응형